asp.net – 部分视图呈现按钮点击
发布时间:2021-01-11 11:55:52 所属栏目:asp.Net 来源:互联网
导读:我有索引视图: @using System.Web.Mvc.Html@model MsmqTestApp.Models.MsmqData!DOCTYPE htmlhtmlhead script src=@Url.Content(~/Scripts/jquery.unobtrusive-ajax.min.js) type=text/javascript
我有索引视图: @using System.Web.Mvc.Html @model MsmqTestApp.Models.MsmqData <!DOCTYPE html> <html> <head> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> <meta name="viewport" content="width=device-width" /> <title>MsmqTest</title> </head> <body> <div> <input type="submit" id="btnBuy" value="Buy" onclick="location.href='@Url.Action("BuyItem","MsmqTest",new { area = "Msmq" })'" /> <input type="submit" id="btnSell" value="Sell" onclick="location.href='@Url.Action("SellItem",new { area = "Msmq" })'" /> </div> <div id="msmqpartial"> @{Html.RenderPartial("Partial1",Model); } </div> </body> </html> 和部分: @using System.Web.Mvc.Html @model MsmqTestApp.Models.MsmqData <p> Items to buy @foreach (var item in Model.ItemsToBuy) { <tr> <td>@Html.DisplayFor(model => item) </td> </tr> } </p> <p> <a>Items Selled</a> @foreach (var item in Model.ItemsSelled) { <tr> <td>@Html.DisplayFor(model => item) </td> </tr> } </p> 和控制器: public class MsmqTestController : Controller { public MsmqData data = new MsmqData(); public ActionResult Index() { return View(data); } public ActionResult BuyItem() { PushIntoQueue(); ViewBag.DataBuyCount = data.ItemsToBuy.Count; return PartialView("Partial1",data); } } 如何做到这一点,当我点击一个按钮只是部分视图渲染,现在控制器要移动我到BuyItem视图; / 解决方法首先要做的是引用jQuery.现在你只引用了jquery.unobtrusive-ajax.min.js,但这个脚本依赖于jQuery,所以不要忘记在它之前包括:<script src="@Url.Content("~/Scripts/jquery.jquery-1.5.1.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 现在您的问题:您应该使用提交按钮与HTML表单.在你的例子中,你没有一个表单,所以在语义上更正确的是使用普通按钮: <input type="button" value="Buy" data-url="@Url.Action("BuyItem",new { area = "Msmq" })" /> <input type="button" value="Sell" data-url="@Url.Action("SellItem",new { area = "Msmq" })" /> 然后在单独的javascript文件中通过订阅.click()事件AJAXify这些按钮: $(function() { $(':button').click(function() { $.ajax({ url: $(this).data('url'),type: 'GET',cache: false,success: function(result) { $('#msmqpartial').html(result); } }); return false; }); }); 或者如果您想依靠Microsoft不引人注目的框架,您可以使用AJAX actionlinks: @Ajax.ActionLink("Buy","BuyItem",new { area = "Msmq" },new AjaxOptions { UpdateTargetId = "msmqpartial" }) @Ajax.ActionLink("Sell","SellItem",new AjaxOptions { UpdateTargetId = "msmqpartial" }) 如果您想要按钮而不是锚点,您可以使用AJAX表单: @using (Ajax.BeginForm("BuyItem",new AjaxOptions { UpdateTargetId = "msmqpartial" })) { <button type="submit">Buy</button> } @using (Ajax.BeginForm("SellItem",new AjaxOptions { UpdateTargetId = "msmqpartial" })) { <button type="submit">Sell</button> } 从我可以看到,您已经将jquery.unobtrusive-ajax.min.js脚本包含在您的页面中,这应该是正常的. (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC3验证与实体框架模型/数据库首先
- asp.net+Ajax 文本文件静态分页实现代码
- asp.net-mvc – 使用AWS .NET SDK进行SNS订阅确认示例
- asp.net-mvc-3 – 在MVC Razor View中使用If语句
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- asp.net-mvc – ASP.Net MVC:如何根据原始的Json数据创建一
- asp.net-mvc – ie9:调试时出现恼人的弹出:“错误:’__f
- asp.net – 从单独的配置文件中读取设置
- asp.net-mvc – 如何将MVC 5 IdentityModels.cs移动到单独的
- asp.net-mvc-3 – 在MVC3中使用Html.LabelFor的表单标签中的
推荐文章
站长推荐
- asp.net-mvc-3 – 方法“OrderBy”必须在方法“跳
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获
- asp.net – 在Azure网站上启用gzip压缩
- 我如何让Fiddler捕获我的MVC应用程序向我的ASP.N
- 如何在ASP.NET和C#中加载下拉列表?
- asp.net – IIS Web Garden中的Singleton对象
- asp.net-mvc-3 – 依赖注入与多个类实现的接口
- asp.net-mvc – Visual Studio 2010 Full和ASP.N
- asp.net-mvc – ASP.net 5 MVC 6 bower.json和pr
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的
热点阅读