如何访问@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>
发布于 2011-06-23 23:47:30
不能。JavaScript在生成action URL时不会执行。你能做的,就是这样做:
function name(myjavascriptID) {
var link = '@Url.Action("download file", "download", new { id = "-1" })';
link = link.replace("-1", myjavascriptID);
jQuery("#list_d").jqGrid('setGridParam', { url: link, page: 1 });
}
发布于 2013-12-29 05:50:55
我做了一些非常类似的事情,但不那么冗长:
var myUrl = '@Url.Action("Solution","Partner")/' + myjavascriptID;
$.ajax.load(myUrl); // or whatever
我们可以这样做是因为路由,并最终将带有路由字典参数的Url.Action转换为如下所示的URI:
http://localhost:41215/Partner/Solution?myJavascriptID=7
这只是第二个选择,因为正如一位睿智的老人曾经说过的那样:“是我们的选择,哈利,比我们的能力更能显示我们的真实面貌。”
发布于 2014-04-08 01:38:38
您可以将变量传递给任何链接,如下所示...
var url = '@Html.Raw(@Url.Action("MethodName", "ControllerName"))' + '?id = ' + myjavascriptID
https://stackoverflow.com/questions/6456703
复制相似问题