Używając tego pomocnika HTML w składni Razor:Szablony edytora ASP.NET MVC i Html.EditorFor (...) - jak rozróżnić nazwę typu?
@Html.EditorFor(model => model.Prop1)
... konwencja jest do renderowania widoku pod Views/<CrtView|Shared>/EditorTemplates/Prop1TypeName.cshtml
.
Jak dotąd tak dobrze. Zauważ, że jeśli (kwalifikowany) typ Prop1 to my.org.ns.TheType
, plik TheType.cshtml
zostanie wyrenderowany.
Ale jeśli mam model z .Prop1
i .Prop2
oraz:
Prop1.GetType().FullName == "my.org.ns1.TheType";
Prop2.GetType().FullName == "my.org.ns2.TheType"; //same type name but different namespace
i nazywają to Razor:
@Html.EditorFor(model => model.Prop1)
@Html.EditorFor(model => model.Prop2)
... nie mogę zmusić go do wyświetlania inny wyświetleń różnych typów.
Czy istnieje sposób na ujednoznacznienie tego?
Może jest coś więcej, niż wiem o konwencji nazewnictwa dla pliku .cshtml
?
zgadzam się z zaleceniem nie używając tej samej nazwy typu, ale to nie jest możliwe w tym przypadku - jest to wygenerowany kod i nie mogę kontrolować, jakie typy nazw są generowane. –