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

関連する問題