How can I change the list index of TemplateInfo.HtmlFieldPrefix?
How can I change the index of HtmlFieldPrefix?
I'm getting Children[0]
from EditorFor() and I want to make it Children[@Model.Id]
Children[2].C开发者_如何学JAVAhildren[4]
from EditorFor() and I want to make it Children[@"ParentModel".Id].Children[@Model.Id]
I won't know the actual prefix until runtime. Preferably there'd be a built-in way to change it?
Or just messing with the string? I'm still new to C# string functions.Try putting the following inside your editor template:
@model SomeViewModel
@{
ViewData.TemplateInfo.HtmlFieldPrefix = Regex.Replace(
ViewData.TemplateInfo.HtmlFieldPrefix,
@"\[[0-9]+\]$",
m => string.Format("[{0}]", Model.Id)
);
}
精彩评论