2012-02-17 112 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