我需要知道如何将参数传递给调用由运行时生成的Html复选框帮助器生成的JavaScript函数。 这是我的动态生成复选框的控制:从动态创建的@ Html.Checkbox将参数传递给JavaScript函数
@foreach (var app in ViewData["Applications"] as List<RenderController.Models.Application>)
{
<td>
@*@Html.CheckBox(item.NetworkName + app.ProcessName, new { id=item.NetworkName + app.ProcessName, onclick = String.Format("callProcess('{0}', '{1}')",item.NetworkName,app.Name) })*@
@Html.CheckBox(item.NetworkName + app.ProcessName, new Dictionary<string, object>
{
{"id", String.Concat(item.NetworkName, app.ProcessName)},
{"onclick", "callProcess.call(this)"}
})
</td>
}
这是我的JavaScript函数:
<script type="text/javascript">
function callProcess(Node, Process) {
var url = "/RenderNodes/CallProcess";
var checked = $('#'+Node + Process).is(':checked');
}
</script>
语法callProcess.call(this)
作品(我测试过的只是将在功能警报),而String.Format()
方法在评论@Html.CheckBox()
一代无所作为。所以如果我使用call(this),我该如何传递参数item.NetworkName
和app.ProcessName
?
添加值作为'数据'的属性和使用不显眼的javascipt的 - 例如, (); $('。checkbox')。click(function(){var node = $(this).data('node'); ...' –
并没有意义使用'@ Html.Checkbox()'你不绑定到一个属性,所有这一切正在产生大约3倍的html所需。 –