在MVC中,ReturnUrl总是空的
本文关键字:ReturnUrl MVC | 更新日期: 2023-09-27 18:13:52
我有一个返回url发送后,用户登录:
。
/Account/SignIn?ReturnUrl=%2fToDoItems%2fCreate
但是,控制器中的值没有绑定。
[HttpPost]
[ActionName("SignIn")]
public ActionResult SignInConfirmation(UserCredentialsModel model, string returnUrl)
{
if (ModelState.IsValid)
同时,Request.QueryString
为空(Length
除外)。
如何将查询字符串参数绑定到控制器?
如下所示,我尝试将参数名称大写:
public ActionResult SignInConfirmation(UserCredentialsModel model, [Bind(Include = "ReturnUrl")] string ReturnUrl)
您希望从HttpGet方法中检索ReturnUrl,并在回发时将其发送回去。
<视图/h2>@using (Html.BeginForm("SignInConfirmation", "YOUR_CONTROLLER",
new { ReturnUrl = ViewBag.ReturnUrl },
FormMethod.Post, new { role = "form" }))
{
....
}
h2控制器 >public ActionResult SignInConfirmation(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
[HttpPost]
public ActionResult SignInConfirmation(UserCredentialsModel model, string returnUrl)
{
}
@using (Html.BeginForm("SignInConfirmation", "YOUR_CONTROLLER",
new { ReturnUrl = ViewBag.ReturnUrl },
FormMethod.Post, new { role = "form" }))
{
....
}
public ActionResult SignInConfirmation(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
[HttpPost]
public ActionResult SignInConfirmation(UserCredentialsModel model, string returnUrl)
{
}