我正在使用MVC4,只是想知道,是否可以更新html帮助器的name属性。我正在更新这个,因为action方法需要一个特定的名称。我知道我可以写原始的html,但只是想知道html助手是否有一个副词
我试过这个
@Html.TextAreaFor(m => m.noteDetail.NotesDetails, new { @class = "k-textbox", @cols = 100, @rows = 5, id="NotesDetails", name= "NotesDetails" })
但是当我查看生成的html
时<textarea class="k-textbox" cols="100" data-val="true" data-val-required="The details are required" id="NotesDetails" name="noteDetail.NotesDetails" rows="5"></textarea>
由于
答案 0 :(得分:0)
您只需在姓名属性前面加上@符号。
答案 1 :(得分:0)
当子模型是您的POST操作接受的模型时,我发现的一种技术是将呈现子模型的HTML放在主视图中包含的部分视图中。通过子模型强类型化并将子模型的值传递给它。这样,子模型就不会生成前缀。
@Html.Partial("_NoteDetails", Model.noteDetail)
然后在_NoteDetails.cshtml
@model NoteDetail
@Html.TextAreaFor(m => m.NoteDetails,
new { @class = "k-textbox", cols = 100, rows = 5 });
答案 2 :(得分:0)
嗨我认为当你传递一个viewModel
因为它包含2个模型,这就是为什么你有这个名字。对于Binder
来说,Post
或Get
构建对象的确如此。
如果您更改名称,那么如果您想将其再次传递给控制器,您可能会为活页夹执行一些自定义代码。