asp.net-mvc-3 – 当调用Controller.PartialView时,ASP.NET MVC3
发布时间:2020-12-16 00:29:21 所属栏目:asp.Net 来源:网络整理
导读:我将渲染部分视图作为Ajax请求的一部分。 当我从视图中调用部分视图时: int i=0;foreach(var rule in Model.Rules) { @Html.Partial("ValidationRuleRow",rule,new ViewDataDictionary { TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix
我将渲染部分视图作为Ajax请求的一部分。
当我从视图中调用部分视图时: int i=0; foreach(var rule in Model.Rules) { @Html.Partial("ValidationRuleRow",rule,new ViewDataDictionary { TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = string.Format("Rules[{0}]",i) } }) i++; } 我可以设置HtmlFieldPrefix以允许适当的模型绑定。 我希望用户能够通过ajax快速添加一个新的ValidationRuleRow,如: $.ajax({ type: "GET",url: "/Monitors/NewMonitorValidationRule",success: function (data,textStatus,jqXHR) { var element = $(data); $("#ValidationRuleContainer").append(element); } }); 所以我在控制器中有一个动作来获取HTML: public ActionResult NewMonitorValidationRule() { ValidationRule rule = new ValidationRule{Id = TempSurrogateKey.Next}; var view = PartialView("ValidationRuleRow",rule); // CODE TO SET PartialView field prefix return view; } 返回的HTML没有前缀。在控制器中的Action中调用PartialView时是否有设置前缀? 解决方法
更好的是,您可以在控制器动作中设置ViewData.TemplateInfo.HtmlFieldPrefix,
public Actionresult MyAction() { ... ViewData.TemplateInfo.HtmlFieldPrefix = "MyPrefix"; return PartialView("MyView",viewmodel); } 视图模型中不需要ViewBag或属性。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 将特定文件夹映射到web.config中的Ht
- asp.net – 如何从ajax调用web api Controller
- asp.net – 从磁条输入信号卡
- asp.net – 如何访问listview中的按钮?特别是使
- asp.net-mvc – 测试使用DbContext的存储库的最佳
- asp.net – 控制器SessionStateBehavior是ReadOn
- asp.net-mvc – Request.GetOwinContext在单元测
- 在ASP.NET Web Forms 4.5中捆绑JQuery
- asp.net-mvc-3 – 从IIS7中的虚拟目录运行ASP.NE
- asp.net – 在localhost上将网站添加到IIS
热点阅读