我想要做的是,当用户点击一个单选按钮来调用JavaScript程序。 我有一些字段启用/禁用当这种情况发生。 然而,当我进入
<%=Html.RadioButton("obp17", "57", ViewData.Eval("obpValue17").ToString().Equals("57"), new {@onclick = "Yes()"})%>
尝试添加的点击数的事件时,我得到一个“型或”预期的错误 。 这应该是容易的,但没有我发现样本似乎工作。 领先的“@”是我发现的所有例子常见的,但别的东西似乎缺少。
是的,我知道检查“真”的方法是矫枉过正,但它是用特殊用途的代码生成器创建的,所以它不是任何额外的工作。
有什么想法吗?
你有Yes()
函数在代码中正确定义? 更换Yes()
的JavaScript alert()
函数; 如果这样的作品,那么你的代码张贴的线路确定。
另外,请不要Yes()
在此功能,我觉得可能会有一些错误存在。
原谅我造成任何问题。 我的问题最终被删除继承“System.Web.Mvc.ViewUserControl”的ASCX文件的第一行。一旦我把造成,所有的问题就走了。
该代码工作的路线是
<%= Html.TextBox("obpt9",ViewData.Eval("obpt9"), new { onclick = "alert('hi')" })%>
不同的线路比样品,但他们都是一样的。
再次,抱歉造成任何混乱。
汤姆
是网页语言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>
一般结构如下所示:
@Html.RadioButtonFor(t => t.ViewModelVariableName,"RadioButtonValue", new {javascriptEvent = "javascriptMethodName"});