c# - 如何从 asp.net mvc Html 帮助程序(例如 Html.Radio)内部将模型值作为 javascript 函数参数传递?

标签 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;
}

这是 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/

相关文章:

asp.net - 如何在使用Docx dll生成word文档时在标题中添加图像和文本?

c# - 检测到 ASP.NET MVC 5 危险的 Request.Path

c# - Func<int,string> 从 Url.Action 返回

c# - .NET 中的装箱/拆箱

C#/Outlook - 检索特定的全局联系人

C# DataTable.Select() - 如何设置过滤条件的格式以包含 null?

asp.net - 将 VISUAL STUDIO 2010 Web 应用程序部署到 azure 云服务

c# - 是否可以使用相关状态对象在消息检查器中传递 channel 数据?

asp.net - 将数据库项目导出为 SQL 脚本

C# MVC 模型在对 Controller 操作进行单元测试时始终有效