ASP.NET MVC EditorFor自定义javascript

时间:2010-10-04 19:37:16

标签: javascript asp.net-mvc-2

以下声明:

<%= Html.EditorFor(model => model.Material.Serial) %>

生成以下代码;

<div class="editor-field">  
    <input type="text" value="" name="Material.Serial" id="Material_Serial" class="input-validation-error">  
    <span id="Material_Serial_validationMessage" class="field-validation-error">Debe ingresar un serial</span>  
</div>

我想通过onkeypress语句为我的输入添加EditorFor javascript属性,我尝试执行以下操作:

<%= Html.EditorFor(model => model.Material.Serial, new{ onkeypress = "return disableEnterKey(event)"})%>

但这不起作用。

2 个答案:

答案 0 :(得分:8)

很难将其他属性传递给EditorFor模板,但是也可以使用jQuery或类似的东西实现相同的功能:

$('#Material_Serial').keypress(function(event) {

  disableEnterKey(event);

});

答案 1 :(得分:3)

使用以下内容....注意代码中的最后一部分。

@Html.EditorFor(model => model.Title, new { htmlAttributes = new { @class = "form-control", @onchange="alert('Hello World')" } })

为上面生成的HTML将是

<input class="form-control text-box single-line" data-val="true" data-val-length="The field Title must be a string with a maximum length of 255." data-val-length-max="255" data-val-required="The Title field is required." id="Title" name="Title" onchange="alert(&#39;Hello World&#39;)" type="text" value="" />