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 に答える