我有一个MVC 3解决方案。为了提交表单,我们使用jQuery.Form库。我的机器在Firefox中一切正常,但在提交表单后的IE中,我看到了保存文件对话框。我究竟做错了什么?我可以提供哪些详细信息来提供有关该问题的更多信息?
答案 0 :(得分:1)
如果您的表单包含用于上传文件的文件输入,并且您的服务器返回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" },
};
}