如何在asp.net mvc中使用jquery设置@Html.EditorFor的值

Ham*_*hid 6 asp.net-mvc asp.net-mvc-4

我想使用 jquery 设置输入文本的值。我试过这样做:

    <div class="editor-label">
        @Html.LabelFor(model => model.ID )
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.ID)
        @Html.ValidationMessageFor(model => model.ID)
    </div>
Run Code Online (Sandbox Code Playgroud)

和 jquery 语法:

    $("#ID").val(data.ID);
Run Code Online (Sandbox Code Playgroud)

但它不起作用。我已经尝试了相同的 jquery 代码:

<input type="text" id="ID" />
Run Code Online (Sandbox Code Playgroud)

这种方法有效,但我不知道为什么 @Html.EditorFor 不能与 jquery 一起使用。提前致谢

Jon*_*nVD 4

您最好使用 TextBoxFor 方法,因为它允许您直接更改元素的 id 和类,而 EditorFor 则不能,除非您为其创建自定义编辑状态(使用 EditorTemplate)。

@Html.TextBoxFor(model => model.ID, new { id = "ID" })
Run Code Online (Sandbox Code Playgroud)

我相信@Html.EditorFor(model => model.ID)会设置 name 属性,因为 mvc 依赖它来进行模型绑定,所以如果上面的内容不符合您的喜好,您也许可以使用该名称作为选择器。