我有一个 MVC 3 解决方案。为了提交表单,我们使用 jQuery.Form 库。在我的机器上,Firefox 一切正常,但在 IE 中,提交表单后我看到了保存文件对话框。我究竟做错了什么?我可以提供哪些详细信息来提供有关该问题的更多信息?
最佳答案
如果您的表单包含用于上传文件的文件输入,并且您的服务器返回 JSON,请确保 JSON 响应包含在 <textarea>
中。标签为 explained in the documentation .
例如,您可以编写一个自定义操作结果来完成这项工作:
public class JsonResultWithTextArea : JsonResult
{
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.Write("<textarea>");
base.ExecuteResult(context);
response.Write("</textarea>");
response.ContentType = "text/html";
}
}
然后:
[HttpPost]
public ActionResult Update(MyViewModel model)
{
...
return new JsonResultWithTextArea
{
Data = new { foo = "bar" },
};
}
关于jquery - 提交表单警报保存对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286724/