I am trying to use it for Login page.
if (Session[\"UserID\"] == null)
Server.Transfer(\"/Account/Login\", true);
But I get The Except
To use a server transfer method you could look at this from Simon Weaver, but in the context of your question I would use a redirect action instead.
RedirectToAction(new {
controller="Account",
action="Login"
});
to get it to tell the login controller where to go back to try
RedirectToAction( new {
controller="Account",
action="Login",
new RouteValueDictionary {
{"actionToGoBackTo", "theActionName"},
{"controllerToGoBackTo", "theControllerName"}
});
note that the Login action will need to take two string arguments, actionToGoBackTo, and controllerToGoBackTo.
You should get the exactly same result as what you want in Server.Transfer.
public ActionResult Index() {
......
var url = "/MyContoller?param=xxx";
Server.TransferRequest(url, true);
return new EmptyResult();
}
You do this!
return new MVCTransferResult(...);
Please see my answer (linked) as well as the accepted answer.