私のページには 4 つの異なるフォームがあり、それぞれが ajax フォームです。
ajax を使用して最初のフォームのポスト リクエストを MVC コントローラーに送信しています。基本的に ViewData["TEST"] が返されます。
ビューで ViewData を使用したいのですが、他のフォームを使用するには、これを隠しフィールドに設定する必要があります。
通常の送信を使用せずに到達するにはどうすればよいですか?
これが私のコードです:
@using (Ajax.BeginForm("Index", new AjaxOptions{ HttpMethod = "POST" }))
{
<script type="text/javascript"> alert('@(ViewData["TEST"])'); </script>
<input type="text" name="name" />
<input type="button" onclick="javacript:SubmitAjax();" />
}
<script type="text/javascript">
function SubmitAjax() {
$.ajax({
type: 'POST',
data: $("#form0").serialize(),
url: "/Home/Index",
timeout: 2000,
async: false,
success: function (data) {
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(message_Error);
}
});
}
そしてコントローラー;
[HttpPost]
public ActionResult Index(string name)
{
ViewData["TEST"] = "TESTSTRING";
return View();
}