如果我需要从javascript代码中调用一个控制器的动作方法,我可以调用它只是传递href,对吗?这样的事情:
$.colorbox({ href: '/Calendar/SessionPropertiesEditbox?starts='+start+' })
那不行。问题是确切的链接也应该包括域名。 但你不知道域名是什么。今天可能是“http:// localhost:7741”,明天可能会完全不同。
那么如何在javascript代码中模拟ActionLink行为?
答案 0 :(得分:3)
你错了;这将有效。
这是一个域相对路径,因此浏览器会自动添加当前域。
如果您的应用程序未在域根目录中运行,则它将无法运行,因为它将在域根目录中查找
如果是这样,您需要致电Url.Action
并将其结果传递给您的Javascript。
在Razor视图中,这看起来像
<script>
var url = "@Server.JavaScriptStringEncode(Url.Action(...))";
</script>
答案 1 :(得分:1)
尝试使用JsAction http://jsaction.codeplex.com