C# 在MVC4中,如何使用Url中的参数从控制器操作重定向到视图?

C# 在MVC4中,如何使用Url中的参数从控制器操作重定向到视图?,c#,asp.net-mvc-4,view,C#,Asp.net Mvc 4,View,在我的MVC4登录视图中,我定义了几个部分: 登录-/User/login#登录或-/User/login 注册-/User/Login#注册 lostpassword---/User/Login#lostpassword 页面上的JS选择要显示的正确表单区域 登录验证等一切正常。但是如果注册失败,如何使用添加的#register参数返回视图 --更新-- 我忘了提到这是来自控制器的,所有验证错误都需要传递回控制器。因此,返回重定向(“…”)不起作用这种方法会起作用: return Redi

在我的MVC4登录视图中,我定义了几个部分:

  • 登录-/User/login#登录或-/User/login
  • 注册-/User/Login#注册
  • lostpassword---/User/Login#lostpassword
页面上的JS选择要显示的正确表单区域

登录验证等一切正常。但是如果注册失败,如何使用添加的
#register
参数返回视图

--更新-- 我忘了提到这是来自控制器的,所有验证错误都需要传递回控制器。因此,
返回重定向(“…”)
不起作用

这种方法会起作用:

return RedirectToAction("NewAction", new { 
     id = model.Id, 
     registerParam = model.registerId
});

PS:如果新操作失败,您可以使用一些错误参数将相同的操作返回到当前操作方法

下面的操作就是这个窍门

return Redirect(Url.Action("Login", "User") + "#registerform");

URL是
~/Login/User#registerform

这应该会有帮助:@Shad-谢谢,但请查看我的更新。需要从控制器操作执行此操作。为什么不将其作为参数(即/User/Login/Register),然后在RouteRegistrar@Raymund-虽然这是一个好主意,但路由是
url:“User/Login#registerform”
,但hashtag是url编码的。