5

如何更改 HtmlFieldPrefix 的索引?

我是Children[0]从 EditorFor() 得到的,我想成功,Children[@Model.Id]
或者Children[2].Children[4]从 EditorFor() 得到,我想成功Children[@"ParentModel".Id].Children[@Model.Id]

直到运行时我才会知道实际的前缀。最好有一种内置的方法来改变它?
还是只是弄乱字符串?我还是 C# 字符串函数的新手。

4

1 回答 1

10

尝试将以下内容放入您的编辑器模板中:

@model SomeViewModel
@{        
    ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
        ViewData.TemplateInfo.HtmlFieldPrefix, 
        @"\[[0-9]+\]$", 
        m => string.Format("[{0}]", Model.Id)
    );
}
于 2011-08-11T09:30:22.677 回答