将onblur事件添加到ASP.Net MVC的Html.TextBox

时间:2010-05-08 17:52:39

标签: c# javascript asp.net-mvc-2 html-helper

HTML帮助程序(在MVC2中)的正确语法是什么,用于定义onblur处理程序,其中使用以下代码生成文本框:

<%=Html.TextBox(
    "ChooseOptions.AddCount" + order.ID,
    (order.Count > 0) ?  AddCount.ToString() : "",
    new { @class = "{number: true}  small-input" }
)

2 个答案:

答案 0 :(得分:6)

onblur添加到htmlattributes

<%=Html.TextBox(
    "ChooseOptions.AddCount" + order.ID,
    (order.Count > 0) ?  AddCount.ToString() : "",
    new { @class = "{number: true}  small-input", onblur = "alert('fired')" }
) %>

或者更好的方法是使用jQuery

添加它
$('#ChooseOptions_AddCount' + id).onblur(function() { alert('fired'); });

答案 1 :(得分:0)

我想提交一个解决方案,允许您根据需要重用功能代码。您可以在其他位置定义函数,然后从HTML元素中调用它。

在myView.cshtml文件中的某个位置(也许在body标签的顶部),您可以定义脚本并在其中定义myFunc,如下所示:

<script>
    function myFunc() {
        alert('fired');
    }
</script>

然后从HTML元素中调用它,如下所示:

<%=Html.TextBox(
    "ChooseOptions.AddCount" + order.ID,
    (order.Count > 0) ?  AddCount.ToString() : "",
    new { @class = "{number: true}  small-input", onblur = "myFunc()" }
) %>

或者,如果您愿意使用HTML助手来定义文本框,则可以

@Html.TextBoxFor(m => m.ChooseOptions.AddCount,
    (order.Count > 0) ?  AddCount.ToString() : "",
    new { @class = "{number: true}  small-input", onblur = "myFunc()" }
)