2011-08-10 15 views
5

HtmlFieldPrefix dizini nasıl değiştirebilirim?TemplateInfo.HtmlFieldPrefix'in liste dizinini nasıl değiştirebilirim?

Ben EditorFor dan Children[0] alıyorum() ve bunu EditorFor() den Children[@Model.Id]
veya Children[2].Children[4] yapmak istiyorum ve bunu Children[@"ParentModel".Id].Children[@Model.Id]

ben çalışma zamanı kadar gerçek önek anlayamayacaksınız yapmak istiyorum. Tercihen onu değiştirmek için yerleşik bir yol var mı?
Ya da sadece ip ile uğraşıyor musunuz? Hala C# string işlevlerinde yeniyim. koyarak Düzenleyicinizin şablonu içinde aşağıdaki

cevap

8

Dene: harika

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

! Normal bir ifade türünün bir şey olduğunu anladım. Nasıl olduğunu gösterdiğiniz için teşekkürler. – Benjamin

+0

güzel çözüm. Mvc'i sevmiyorum çünkü içinde her şey yok, ama istediğin her şeyi yapmak için esnekliği var. – bijayk

İlgili konular