3

Html.BeginForm を使用してテキスト ボックスからコントローラーに値を送信するコード ブロックがあります。これをビューに配置すると、正常に動作します。つまり、コントローラのアクション メソッドが呼び出されます。ただし、ビューでレンダリングされる部分ビュー内にこのコード ブロックを配置すると、コントローラーのアクションは呼び出されません。

これが通常の動作なのか、それとも何か不足しているのかはわかりません...

@using (Html.BeginForm("TestAction", "Home",  FormMethod.Post, new { id = "formId" }))
{<table>
   <tr>
        <td>Data Date</td>
        <td>@Html.TextBox("date")</td>
    </tr>    
   <tr>
        <td></td>
        <td><input id="btnRun" type="submit"  value="submit" /></td>
   </tr>

}

コントローラ:

 [HttpPost]
 public ActionResult TestAction(string date)
 {
     [doing something......]
     return View();
 }

前もって感謝します!

4

1 に答える 1

2

通常、ここで取得したルートの詳細を指すようにタグのアクションを@Html.BeginForm()レンダリングします。<form>したがって、部分ビューでは、実際には外側のページにレンダリングし直しています。(ええ、気が狂います。) フォームの投稿を特定のルートに明確に指示したい場合は、追加のパラメーターを@Html.BeginForm(). http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform(v=vs.108).aspxを参照してください。

于 2013-08-26T05:00:01.183 に答える