如何更新HTML帮助程序的name属性

时间:2014-03-28 03:09:38

标签: c# asp.net-mvc-3 asp.net-mvc-4 razor

我正在使用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>

由于

3 个答案:

答案 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来说,PostGet构建对象的确如此。 如果您更改名称,那么如果您想将其再次传递给控制器​​,您可能会为活页夹执行一些自定义代码。