好吧,很简单的问题。我想我需要加入一些转义字符,但我不太确定在哪里。
这是我尝试调用的 javascript 函数:
function setData(associateValue, reviewDateValue) {
var associate = document.getElementById("Associate");
var reviewDate = document.getElementById("ReviewDate");
associate.value = associateValue;
reviewDate.value = reviewDateValue;
}
这是 asp .net mvc 行,我在其中尝试创建一个带有单击事件的单选按钮,该单击事件调用上述函数并将模型中的数据作为 javascript 参数值传递。
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )" } )%>
上面抛出了一堆编译问题并且不起作用。如下所示的调用会调用 javascript,但不会从模型中获取数据。
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('item.Associate','item.ReviewDate' )" } )%>
想法?
解决方案
<% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ; %>
<%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall } )%>
最佳答案
您需要正确构建表示 onclick 事件处理程序的字符串:
onClick = String.Format("setData('{0}', '{1}')", item.Association, item.ReviewData)
关于c# - 如何从 asp.net mvc Html 帮助程序(例如 Html.Radio)内部将模型值作为 javascript 函数参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292262/