来自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> 
+0

真的哦......也许我的路由坏了。我需要检查。谢谢 – Agzam 2011-04-07 16:24:47

+0

看我的编辑。你在域根目录下,还是你在'localhost:port/YourAppName'? – SLaks 2011-04-07 16:25:41

+0

不,不,不,我不能包含剃刀语法。我从.js文件调用它。或者...我实际上可以(?) – Agzam 2011-04-07 16:26:05

尝试使用JsAction http://jsaction.codeplex.com