如何更改HtmlFieldPrefix的索引?
我从EditorFor()获得Children[0]
,我想将其设为Children[@Model.Id]
或来自EditorFor()的Children[2].Children[4]
,我想将其设为Children[@"ParentModel".Id].Children[@Model.Id]
直到运行时我才会知道实际的前缀。最好有内置的方法来改变它吗? 或者只是弄乱字符串?我还是C#字符串函数的新手。
答案 0 :(得分:9)
尝试在编辑器模板中添加以下内容:
@model SomeViewModel
@{
ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
ViewData.TemplateInfo.HtmlFieldPrefix,
@"\[[0-9]+\]$",
m => string.Format("[{0}]", Model.Id)
);
}