2012-02-04 64 views
1

MVC3のデフォルトテンプレートでは、ログオンページのクエリ文字列に 'returnurl'変数が設定されています。このページには、そのように私はヘルパーを変更し、私は、フォームへのCSSクラスを追加したいそのようにAsp.net MVC ReturnUrl変数がHtml.BeginFormのFormMethod.Postで表示されない

[HttpPost] 
    public ActionResult LogOn(LogOnModel model, string returnUrl) 
    { 

のようなコントローラにピックアップされ、コントローラ

@using (Html.BeginForm()) { 

に戻ってポスト:

@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { @class = "form-horizontal" })) 

ただし、クエリ文字列の情報がコントローラに設定されていません。

私はいつも隠れた入力値をフォームのretrunurlに設定できましたが、もっと簡単な方法があるかどうかはわかりませんでした。あなたはこの過負荷にreturnurl変数が含まれて元のクエリ文字列を保持していないので、この場合には隠しフィールドを使用する必要が

おかげ

答えて

5

。また、非表示フィールドを使用したくない場合は、クエリ文字列パラメータを使用できます。

@using (Html.BeginForm(null, null, new { returnUrl = Request["returnurl"] }, FormMethod.Post, new { @class = "form-horizontal" })) 
{ 
    ... 
} 
関連する問題