我正在尝试将其用于登录页面。
if (Session["UserID"] == null)
Server.Transfer("/Account/Login", true);
但我得到了例外 - >执行子请求/帐户/登录时出错。
答案 0 :(得分:10)
答案 1 :(得分:9)
要使用服务器转移方法,您可以查看Simon Weaver的this,但在您的问题中,我会使用重定向操作。
RedirectToAction(new {
controller="Account",
action="Login"
});
让它告诉登录控制器在哪里返回尝试
RedirectToAction( new {
controller="Account",
action="Login",
new RouteValueDictionary {
{"actionToGoBackTo", "theActionName"},
{"controllerToGoBackTo", "theControllerName"}
});
请注意,Login操作需要使用两个字符串参数:actionToGoBackTo和controllerToGoBackTo。
答案 2 :(得分:5)
您应该获得与Server.Transfer中所需的完全相同的结果。
public ActionResult Index() {
......
var url = "/MyContoller?param=xxx";
Server.TransferRequest(url, true);
return new EmptyResult();
}