2011-08-10 54 views
5

如何更改HtmlFieldPrefix的索引?如何更改TemplateInfo.HtmlFieldPrefix的列表索引?

我碰到EditorFor Children[0](),我希望把它从EditorFor()Children[@Model.Id]
Children[2].Children[4],我希望把它Children[@"ParentModel".Id].Children[@Model.Id]

我不知道实际的前缀,直到运行时。最好是有一种内置的方式来改变它?
或只是搞乱了字符串?我仍然对C#字符串函数不熟悉。

回答

8

尝试把你的编辑模板中的以下内容:

@model SomeViewModel 
@{   
    ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
     ViewData.TemplateInfo.HtmlFieldPrefix, 
     @"\[[0-9]+\]$", 
     m => string.Format("[{0}]", Model.Id) 
    ); 
} 
+0

这是伟大的!我认为这是一种正规的表达方式。感谢您向我展示如何。 – Benjamin

+0

可爱的解决方案。我不喜欢mvc,因为它没有包含任何东西,但它可以灵活地做你想要的任何东西。 – bijayk

相关问题