私のMVC3アプリでは、URLにクエリ文字列の値を入力してEnterキーを押すと、入力した値を取得できます。
localhost:34556/?db=test
起動する私のデフォルトのアクション:
public ActionResult Index(string db)
変数dbには「test」が含まれています。
ここで、フォームを送信してクエリ文字列の値を読み取る必要がありますが、jQueryを介してフォームを送信すると次のようになります。
$('#btnLogOn').click(function(e) {
e.preventDefault();
document.forms[0].submit();
});
そして、以下は私が送っているフォームです:
@using (Html.BeginForm("LogIn", "Home", new { id="form1" }, FormMethod.Post))
アクションは次のとおりです。
[HttpPost]
public ActionResult LogIn(LogOnModel logOnModel, string db)
{
string dbName= Request.QueryString["db"];
}
Request.QueryString ["db"]がnullであるため、変数dbNameはnullです。変数dbも渡されますが、その理由はわかりません。フォームが送信された後、誰かがクエリ文字列変数を取得するのを手伝ってもらえますか?ありがとう