来自javascript的调用动作方法
问题描述:
如果我需要从JavaScript代码中调用某个控制器的某个动作方法,我可以称之为传递href,对吧?类似的东西:来自javascript的调用动作方法
$.colorbox({ href: '/Calendar/SessionPropertiesEditbox?starts='+start+' })
这不会工作。问题是确切的链接还应该包括域名。 但你不知道域名是什么。今天它可能是“http:// localhost:7741”,明天可能完全不同。
那么如何在JavaScript代码中模拟ActionLink行为?
答
你是错的;那可行。
这是一个域相对路径,所以浏览器会自动添加当前域。
如果您的应用程序未在域根目录中运行,则它将无法工作,因为它将显示在域根目录中。
如果是这样,您需要致电Url.Action
并将其结果传递给您的Javascript。
在Razor视图,那会是什么样子
<script>
var url = "@Server.JavaScriptStringEncode(Url.Action(...))";
</script>
真的哦......也许我的路由坏了。我需要检查。谢谢 – Agzam 2011-04-07 16:24:47
看我的编辑。你在域根目录下,还是你在'localhost:port/YourAppName'? – SLaks 2011-04-07 16:25:41
不,不,不,我不能包含剃刀语法。我从.js文件调用它。或者...我实际上可以(?) – Agzam 2011-04-07 16:26:05