0

MVC4 コントローラー アクションにフォームを投稿しています。私はそのFormCollectionように繰り返しています:

    [HttpPost]
    public ActionResult Details(string nctId, FormCollection collection)
    {
        foreach (var key in collection.AllKeys)
        {
            var value = Request.Form[key]; // <-- breakpoint here
        }

        return RedirectToAction("Details", new { nctId = nctId });
    }

私(と思う)は、次のselect入力を含むフォームを送信しています。

  • 名前="ddlOne"、id="ddlOne"、値="ValueOne"
  • 名前="ddlTwo"、id="ddlTwo"、値="ValueTwo"
  • 名前="ddlThree"、id="ddlThree"、値="ValueThree"

ただし、示された行にブレークポイントを配置すると、次の結果が表示されます。

  • キー: "ddlOne"、値: null
  • キー: "ddlTwo"、値: "ValueOne"
  • キー: "ddlThree"、値: "ValueTwo"

ご覧のとおり、値は「1 ずつずれています」。

この問題の原因は何ですか?

4

1 に答える 1

1

割り当てが発生する前にブレークポイントが発生します。

F10 を 1 回押して割り当ての実行を進め、更新された (そして正しい) ペアリングを確認します。または、直接検査して、すべてが正常であることを確認しますRequest.Form

于 2013-11-01T05:22:24.190 に答える