function onTestComplete(content) {
var url = '<%= Url.Action("JsonTest","Organization") %>';
$.post(url, null, function(data) {
alert(data["name"]);
alert(data["ee"]);
});
}
<% using (Ajax.BeginForm("JsonTest", new AjaxOptions() { HttpMethod = "POST",
OnComplete = "onTestComplete" }))
{ %>
<%= Html.TextBox("name") %><br />
<input type="submit" />
<% } %>
控制器:
[HttpPost]
public ActionResult JsonTest() {
var data = new {
name = "TestName", ee = "aaa"
};
return Json(data);
}
由于某些原因,当我单击按钮时(我的断点在控制器jsontest方法中),jsontest被调用了两次(这是真正的问题)。我想像往常一样使用Ajax.BeginForm(“” new AjaxOptions {HttpMethod =“ POST”,OnComplete =“ onTestComplete”}))我可以调用一次,但是它不会将值发布到控制器。
最佳答案
它被调用了两次,因为您要调用它两次-一次是Ajax.BeginForm
,一次是onTestComplete
。
控制器没有任何值,因为它没有任何参数。