如何将模型值作为javascript函数参数从asp.net mvc Html助手中传递出来,如Html.Radio?

jas*_*son 6 c# asp.net asp.net-mvc asp.net-mvc-2

好的,非常简单的问题.我想我需要输入一些转义字符,但我不太确定在哪里.

这是我试图调用的javascript函数:

function setData(associateValue, reviewDateValue) {
    var associate = document.getElementById("Associate");
    var reviewDate = document.getElementById("ReviewDate");
    associate.value = associateValue;
    reviewDate.value = reviewDateValue;
}
Run Code Online (Sandbox Code Playgroud)

这是asp .net mvc行,我试图用一个调用上面函数的click事件创建一个单选按钮,并将模型中的数据作为javascript参数值传递.

<%= Html.RadioButton("Selected", item.Selected, new { onClick="setData('<%=item.Associate%>','<%=item.ReviewDate%>' )"  } )%>
Run Code Online (Sandbox Code Playgroud)

上面抛出了一堆编译问题,但不起作用.如下所示的调用会调用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' )"  } )%>
Run Code Online (Sandbox Code Playgroud)

思考?

        <% String functionCall = String.Format("setData('{0}','{1}')", Html.Encode(item.Associate), Html.Encode(item.ReviewDate )) ;  %>
        <%= Html.RadioButton("Selected", item.Selected, new { onClick=functionCall  } )%>                
Run Code Online (Sandbox Code Playgroud)

mar*_*ind 11

您需要正确构建代表onclick evenet处理程序的字符串:

onClick = String.Format("setData('{0}', '{1}')", item.Association, item.ReviewData)
Run Code Online (Sandbox Code Playgroud)