添加onclick事件Html.RadioButton(Add OnClick Event to H

2019-10-17 05:06发布

我想要做的是,当用户点击一个单选按钮来调用JavaScript程序。 我有一些字段启用/禁用当这种情况发生。 然而,当我进入

 <%=Html.RadioButton("obp17", "57", ViewData.Eval("obpValue17").ToString().Equals("57"), new {@onclick = "Yes()"})%>

尝试添加的点击数的事件时,我得到一个“型或”预期的错误 。 这应该是容易的,但没有我发现样本似乎工作。 领先的“@”是我发现的所有例子常见的,但别的东西似乎缺少。

是的,我知道检查“真”的方法是矫枉过正,但它是用特殊用途的代码生成器创建的,所以它不是任何额外的工作。

有什么想法吗?

Answer 1:

你有Yes()函数在代码中正确定义? 更换Yes()的JavaScript alert()函数; 如果这样的作品,那么你的代码张贴的线路确定。

另外,请不要Yes()在此功能,我觉得可能会有一些错误存在。



Answer 2:

原谅我造成任何问题。 我的问题最终被删除继承“System.Web.Mvc.ViewUserControl”的ASCX文件的第一行。一旦我把造成,所有的问题就走了。

该代码工作的路线是

 <%= Html.TextBox("obpt9",ViewData.Eval("obpt9"), new { onclick = "alert('hi')" })%>

不同的线路比样品,但他们都是一样的。

再次,抱歉造成任何混乱。

汤姆



Answer 3:

是网页语言VB或者C#? 如果这是你的VB语法是错误的创建匿名类型化的HTML属性。 看到这个MSDN参考如何在VB中的匿名类型创建一个对象。

 <%=Html.RadioButton("obp17",
                     "57",
                     ViewData.Eval("obpValue17").ToString().Equals("57"),
                     New With { .onclick = "Yes()" } ) %>

或更改网页语言C#,如果这是更合适的。

此外,请注意,你可以(按理说应该)干脆放弃单选按钮类,然后在同一时间使用jQuery添加所有的处理程序。 通常你要保持你的JavaScript从您的标记分开。

 <%=Html.RadioButton("obp17",
                     "57",
                     ViewData.Eval("obpValue17").ToString().Equals("57"),
                     New With { .class = "heinz" } ) %>

 <script type="text/javascript>
     $('.heinz').click( function() {
        ... implement the logic of Yes() here ...
     });
 </script>


Answer 4:

一般结构如下所示:

@Html.RadioButtonFor(t => t.ViewModelVariableName,"RadioButtonValue", new {javascriptEvent = "javascriptMethodName"});


文章来源: Add OnClick Event to Html.RadioButton