0

returnUrlパラメーターを持つUserVerifyという名前のビューがあります。http://localhost:50383/register/UserVerify?returnUrl=http%3A%2F%2Flocalhost%3A50383%2Fregister%2Forganization.

UserVerifyビューには、部分的なビューコントロールであるLogonControlがあります。

<% Html.RenderPartial("LogonControl"); %>

LogonControllerのコントローラーコードは次のとおりです

 public ActionResult LogonControl(string returnUrl)
        {
            return View();
        }

        [HttpPost]
        public ActionResult LogonControl(LogOnModel model,string returnUrl)
        {
            if (!String.IsNullOrEmpty(returnUrl))
            {
                return Redirect(returnUrl);
            }
            else
            {
                return RedirectToAction("Index", "Public");
            }      
        }

テストすると、returnUrlが設定されておらず、nullです。returnUrlを部分ビューに下げる方法についてのアイデアはありますか?

4

2 に答える 2

1

フォームが値を返していませんでした。BeginForm に値を追加するとうまくいきました。

(Html.BeginForm("Logon", "Account", new { ReturnUrl = Request.QueryString["ReturnUrl"] }))
于 2009-11-24T12:23:10.673 に答える
0

実際に確認する必要があるのは、フォーム タグのアクション属性であり、returnUrl 値が含まれていることに注意してください。

迅速な(そしておそらく最良の方法ではない)アプローチは、 returnUrl を routeValues に次のように渡すことです。

@returnUrl=リクエスト["returnUrl"]

于 2009-11-24T09:35:02.893 に答える