我有一个应用程序,用户登录后,使用RedrirectToAction()将用户重定向到某个控制器的索引页。RedirectToAction和ActionLink之间的差异导致.post()不工作
RedirectToAction("Index", "MyController");
它重定向我//MyApp/MyController/
我也对母版视图导航,我使用ActionLink的:
@Html.ActionLink("Index", "SomeOtherController")
... (other links)
重定向我//MyApp/SomeOtherController
问题是**/**
性格上第一条路线的结束。我在onClick调用jQuery .post()的母版页上进行了partialView。
function SomeFunction(id) {
$.post("Controller/Action", { id: id },
function() {
... some code
});
}
但是当我调用该函数从登录它改掉访问此航线后重定向:
/MyController/Controller/Action
不extist。如果我改变我的文章呼吁
$.post("../Controller/Action", ...
它工作正常,但后来becouse他们没有**/**
对路线的终点不会为导航链接工作。
我该怎么办?如何从RedirectToAction和ActionLink获取唯一路径,最终是否有**/**
?
注:
我母版页上使用<a></a>
用于导航和与**/**
在年底进入的路径,但我宁愿使用ActionLink的
谢谢你的提示,但你知道为什么会出现在形成了该两种方法的URL区别吗? – freshbm 2013-03-19 22:39:30
我不确定你的意思 - 在我提供的两个变体中,URL将以相同的方式形成。然而,剃刀助手(@ Url.RouteUrl等)不能在.js文件中运行,所以你必须找到一种方法来通过它。如果你的意思是来自你的两个方法,这个问题来自于在http://www.mywebsite.com/和http://www.mywebsite。com/controller/action看起来与浏览器非常不同,你的相对路径很快就会搞乱。 – Tommy 2013-03-20 14:51:14
我的意思是为什么Action.Link和RedirectToAction有所不同。为什么他们不创建相同的网址? – freshbm 2013-03-20 15:08:38