asp.net mvc json打开对话框问题

asp.net mvc json打开对话框问题,asp.net,javascript,ajax,json,Asp.net,Javascript,Ajax,Json,{ $.ajax({ 类型:“POST”, 数据:$(“#myForm”).serialize(), 数据类型:“json”, url:“”, 成功:功能(结果) { window.alert(result.name); }, 错误:函数() { window.alert('error'); } }); } Html.BeginForm(“JSONRequest”,“Home”,FormMethod.Post,new{id=“myForm”}

{

$.ajax({
类型:“POST”,
数据:$(“#myForm”).serialize(),
数据类型:“json”,
url:“”,
成功:功能(结果)
{  
window.alert(result.name);
},                  
错误:函数()
{  
window.alert('error');
}  
});  
}

Html.BeginForm(“JSONRequest”,“Home”,FormMethod.Post,new{id=“myForm”});
Html.TextBox(“mazhar”)
Html.EndForm();
public ActionResult JSONRequest(FormCollection表单)
{
字符串a=形式[“mazhar”];
var data=new{name=“aaaa”,Success=“记录成功保存”,ErrorMessages=“abc”};
返回Json(数据);
}
好的,问题是在运行请求保存文件的代码后,对话框正在打开。
有人能告诉我如何解决这个问题吗?为什么这个盒子会来?

我想你把表格贴了两次。您应该使用Ajax.BeginForm而不是普通表单。并删除jqueryajax调用

下面是一个使用Ajax表单的非常好的示例

或者您也可以尝试替换

 Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
 Html.TextBox("mazhar")  
 <input type="submit" onclick="postForm" />  
 Html.EndForm();



 public ActionResult JSONRequest(FormCollection form)
    {

        string a = form["mazhar"];
        var data = new { name = "aaaa", Success = "Record is Succesfully Saved", ErrorMessages = "abc" };
        return Json(data);  
    }


您需要通过在按钮
onclick
处理程序中返回
false
来取消默认表单提交:

<input type="button" onclick="postForm" />  
这样,您就不再需要指定url、方法、手动序列化表单字段等。。。您也不需要用javascript函数污染HTML标记。这是不引人注目的javascript。这种方法的另一个优点是,现在您可以将此javascript外部化到一个单独的static.js文件中,因为它不再依赖服务器端代码(
),这将从减少带宽和缓存静态资源中获益

 Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
 Html.TextBox("mazhar")  
 <input type="submit" onclick="postForm" />  
 Html.EndForm();



 public ActionResult JSONRequest(FormCollection form)
    {

        string a = form["mazhar"];
        var data = new { name = "aaaa", Success = "Record is Succesfully Saved", ErrorMessages = "abc" };
        return Json(data);  
    }
<input type="submit" onclick="postForm" />  
<input type="button" onclick="postForm" />  
<input type="submit" onclick="postForm(); return false;" />
Html.BeginForm("JSONRequest", "Home", FormMethod.Post, new { id = "myForm" });
    Html.TextBox("mazhar")  
    <input type="submit" value="OK" />  
Html.EndForm();
$(function() { 
    $('#myForm').ajaxForm({
        success: function(result) {  
            window.alert(result.name);  
        },                  
        error : function() {  
            window.alert('error');  
        }  
    }); 
});