在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)

在MVC中,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)
{
}