controls – mvc显示模板中当前项的索引
发布时间:2020-12-16 04:01:31 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有displaytemplate的mvc页面. 如何获取在displaytemplate中呈现的当前项的索引. 它在name属性中生成正确的可绑定结果. input name="xxx[0].FirstName"/input name="xxx[1].FirstName"/ 我想在显示模板中使用该索引值.它在ViewContext中的某个地方
我有一个带有displaytemplate的mvc页面.
如何获取在displaytemplate中呈现的当前项的索引. 它在name属性中生成正确的可绑定结果. <input name="xxx[0].FirstName"/> <input name="xxx[1].FirstName"/> 我想在显示模板中使用该索引值.它在ViewContext中的某个地方吗? @ * page.cshtml @ <table id="contacts" class="editable"> <thead> <tr><th>Name</th><th>Surname</th><th>Contact Details</th></tr> </thead> <tbody> @Html.DisplayFor(x => x.Contacts) </tbody> 在我们的显示模板中 @* contact.cshtml *@ @model ...@* This is the T of the IEnumerable<T> *@ <tr> @* I NEED THE INDEX OF THE CURRENT ITERATION HERE *@ <td>@Html.DisplayFor(x => x.FirstName)</td> </tr> 解决方法
恐怕没有简单的方法来获取索引.它隐藏在内部System.Web.Mvc.Html.DefaultDisplayTemplates.CollectionTemplate方法中,并且未公开.您可以使用的是字段前缀:
@ViewData.TemplateInfo.HtmlFieldPrefix 另一种可能性是用以下代码替换@ Html.DisplayFor(x => x.Contacts): @for (int i = 0; i < Model.Contacts.Length; i++) { @Html.DisplayFor(x => x.Contacts[i],new { Index = i }) } 然后在模板@ ViewBag.Index内部应该给你当前索引,但我必须承认它有点难看. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 在ASP.NET 5 MVC6中使用什么而不是WebView
- asp.net-mvc-3 – 无法在HttpStatusCodeResult中指定Status
- asp.net-mvc – CKEditor和ASP.Net MVC 3 RequiredAttribut
- 现在启动ASP.NET 5 Web项目还为时过早吗?
- asp.net-mvc – 一起使用ASP.Net MVC和node.js.
- asp.net-mvc-5 – ASP.NET MVC中Controller的模型对象列表的
- iis – 如何从服务器上的经典asp页面执行bat文件
- asp.net-mvc – asp.net MVC antiorgerytoken异常RedirectT
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- asp.net-mvc-3 – Razor webgrid ajax分页和排序
推荐文章
站长推荐
- asp.net-mvc – MVC角色授权
- asp.net – 如何使用GridView和ObjectDataSource
- asp.net-mvc-3 – MVC 3(Razor) – 使用Button事
- asp.net – 查询字符串参数使我的应用程序面临风
- asp.net-mvc – MVC 3 Webgrid专栏
- asp.net-mvc – 在cshtml中折叠C#块并保存
- asp.net – FormsAuthentication:是否安全?
- asp.net-mvc-4 – 如何在Kendo UI数据源中禁用“
- asp.net – 抛出类型“System.OutOfMemoryExcept
- asp.net表单身份验证将.net 2更改为.net4
热点阅读