我想知道是否可以编辑@ Html.EditorFor(model => item.Title)正在生成的属性值
@ Html.EditorFor(model => item.Title)会生成这个:
<input class="text-box single-line" id="item_Title" name="item.Title" type="text" value="Avatar" />
我想知道是否有可能编辑id attribut?
谢谢!
答案 0 :(得分:3)
我不认为你可以编辑id,因为EditorFor的意思是它“绑定”到你正在应用它的模型的属性。如果您需要其他ID,可以尝试使用Html.TextBox
创建自己的文本框。
答案 1 :(得分:1)
创建您自己的编辑器模板,以自定义渲染您想要的任何内容。 看到: http://www.codecapers.com/post/Display-and-Editor-Templates-in-ASPNET-MVC-2.aspx 然后,您可以控制编辑器html的发射方式。你可能需要做一些lambda解析魔法来获得模型变量名称。我不得不研究更多 - 只是想在这里给出一个指针以防其他人没有回复。
在这种情况下,您可能需要编写自己的扩展方法,该方法接受lambda并根据该lambda创建名称。您可以在此处查看如何解析lambda作为示例: http://blogs.planetcloud.co.uk/mygreatdiscovery/post/Creating-tooltips-using-data-annotations-in-ASPNET-MVC.aspx
这一切可能都不太好......但是想提供至少其他东西:)