如何在@ URL.Action()中访问javascriptvariables
如何访问@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时,JavaScript不会执行。 你可以做的就是做这样的事情:
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 }); }
HTH。
我做了一些非常相似的事情,但是不太详细:
var myUrl = '@Url.Action("Solution","Partner")/' + myjavascriptID; $.ajax.load(myUrl); // or whatever
我们可以这样做,因为路由,并最终Url.Action与路由字典参数翻译成一个URI,如下所示:
http://localhost:41215/Partner/Solution?myJavascriptID=7
只是第二select,因为作为一个聪明的老人曾经说过:“这是我们的select,哈利,这显示我们真正的,远远超过我们的能力。”
您可以将variables传递给任何链接,如下所示…
var url = '@Html.Raw(@Url.Action("MethodName", "ControllerName"))' + '?id = ' + myjavascriptID
你可以这样在C#中build立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 }); }
与Brian Mains的回答一样,你可以格式化你的urlstring,而不是用你的variablesreplace-1,也就是说,如果像我一样,你认为阅读更好。 下面的答案假设你已经修改了String
的原型,正如在这个答案中所build议的那样:
var url = unescape('@Url.Action("download file", "download", new { id = "{0}" })').format(myjavascriptID);
如果您想解码您的{0}
则unescape
调用是必需的。 我喜欢这个select,因为它使得从JSvariables中获取多个参数变得更容易。 例如:
var url = unescape('@Html.Raw(Url.Action("Action", "Controller", new { id = "{0}", name = "{1}" }))').format(myID, myName);
我在第二个示例中添加了Html.Raw
,以避免产生&
; urlstring。
- C ++ Boost:未定义的引用boost :: system :: generic_category()
- IEnumerable <object> a = new IEnumerable <object>(); 我可以这样做吗?
- 为什么AuthorizeAttributeredirect到login页面以进行身份validation和授权失败?
- 从Javascript访问MVC的模型属性
- 在HTTPS上设置站点后,子操作不允许执行redirect操作
- Web API Put请求生成一个Http 405方法不允许的错误
- 在ASP.NET MVC中如何避免HttpRequestValidationException渲染引起exception的相同视图
- IHttpHandler.IsReusable有什么用途?
- 如何模拟ASP.NET MVC中的Server.Transfer?
- 我应该在MVC Razor中find共享的@helper函数
- 在ASP.NET MVC中获取完整的URL地址