如何訪問@ URL.Action()中的javascript變量



Answers

我做了一些非常相似的事情,但不那麼冗長:

var myUrl = '@Url.Action("Solution","Partner")/' + myjavascriptID;
$.ajax.load(myUrl); // or whatever

我們可以這樣做,因為路由,最終Url.Action與路由字典參數轉換為如下所示的URI:

http://localhost:41215/Partner/Solution?myJavascriptID=7

只是第二個選擇,因為作為一個聰明的老人曾經說過“這是我們的選擇,哈利,這表明我們真正的東西,遠遠超過我們的能力。”

Question

如何在@URL.Action()訪問JavaScript值? 就像是:

<script type="text/javascript">
function name(myjavascriptID)
{
     jQuery("#list_d").jqGrid('setGridParam', { url: '@URL.Action("download file", "download", new { id = <myjavascriptID> })', page: 1 });

}
</script>



你可以在下面替換url代碼

var jsUrl = '@Url.Action("action", "controller")'; // ## is the token
var getUrl = jsUrl.replace('action', action).replace('controller', controller)  
$("#RenderPartial").load(getUrl); 



您可以這樣在C#中構建JavaScript代碼:

function fun(jsId) {
  var aTag = '<a href="@Html.Raw(@Url.Action("ActionName", "ControllerName", new { objectId = "xxx01xxx" }).Replace("xxx01xxx", "' + jsId + '"))">LINK</a>';
}

以下是使用此技術重寫的問題的代碼:

function name(myjavascriptID) {
  jQuery("#list_d").jqGrid('setGridParam', { url: '@Html.Raw(@URL.Action("download file", "download", new { id = "XXXmyjavascriptIDXXX" }).Replace("XXXmyjavascriptIDXXX", "' + myjavascriptID + '"))', page: 1 });
}





Links