如何在编辑器模板中显示数组索引号

时间:2015-03-04 12:00:31

标签: asp.net-mvc razor

在我的模型中,我有一个名为EventField的复杂类型的List属性。

我创建了一个编辑器模板,可以正常使用:

  

@ Html.EditorFor(e => e.EventField)

我的问题是,在该编辑模板中,我想自己选择索引/序列号作为数字。该索引将简单地作为数据属性添加到模板中,因此我可以使用javascript来获取它。

有几个答案是不够的:

  1. @html.IdFor - 输出全名,例如Name [0] .other
  2. here - 您无法通过模型名称" EventField"这样。
  3. 是否有一个简单的方法/函数/帮助器可以访问该索引,而无需更改我调用编辑器模板的方式?

1 个答案:

答案 0 :(得分:1)

怎么样:

@using System
@using System.Text.RegularExpressions

var i = Convert.ToInt32(Regex.Matches(
         ViewData.TemplateInfo.HtmlFieldPrefix,
         @"\[([0-9]+)?\]")[0].Groups[1].ToString());