2012-02-17 103 views
0

给定以下代码,什么是适当的Razor语法?这个Url.Action代码的正确的剃刀语法是什么?

$('#ShowClosed').click(function() { 
     var urlString = '@Url.Action("GetWorkOrders", "WorkOrders")?ShowClosed=$("#ShowClosed").valueOf'; 
     alert(urlString); 
     $("#jqgWorkOrdersList").jqGrid().setGridParam({ url: urlString }).trigger("reloadGrid"); 
    }); 

警报被/website/MyController/MyAction?ShowClosed=$("#ShowClosed").valueOf返回

编辑:这是正确的代码。

$('#ShowClosed').click(function() { 
     var urlString = '@Url.Action("GetWorkOrders", "WorkOrders")?ShowClosed=' + $("#ShowClosed").attr("checked"); 
     $("#jqgWorkOrdersList").jqGrid().setGridParam({ url: urlString }).trigger("reloadGrid"); 
    }); 

回答

1

包含的是字符串中的JavaScript代码..

$('#ShowClosed').click(function() { 
    var urlString = '@Url.Action("GetWorkOrders", "WorkOrders")?ShowClosed=' + $("#ShowClosed").is(":checked"); 
    alert(urlString); 
    $("#jqgWorkOrdersList").jqGrid().setGridParam({ url: urlString }).trigger("reloadGrid"); 
}); 
+0

我知道这是愚蠢的东西那样。谢谢! – Scottie 2012-02-17 22:45:17

+0

只是为了防止其他人看起来更新,val()对于复选框不起作用。你需要使用.attr(“checked”)。 – Scottie 2012-02-17 22:52:50

+0

你说得对,更新了我的答案,但我认为'.is(“:checked”)'更适合在这里 – 2012-02-17 23:17:33