1、错误提示距离太远

2、正确与错误时返回JSON(即:如何不出现打开新页显示JSON字串)

3、打开新页后“数据加载中,请稍候”关不掉

4、如何正常的分页,同时如果有查询结果时分页也要有效

5、关闭弹出的对话框后出现半透明黑色框

6、DWZ使用<input type="file">上传文件返回JSON串IE无法解析问题

上传的页面的form中如果加上onsubmit = "return validateCallback(this, dialogAjaxDone)"是无法实现文件上传的,接收到的只能是null,所以需要换一种方式,即:

onsubmit="return iframeCallback(this,dialogAjaxDone);

[HttpPost]
[Description("接收商户标题图片")]
public string UploadTitle(HttpPostedFileBase upImg, string id)
{
int MaxSize = ; // 最大上传大小,默认是0.5M
string newFile = "";
string ext = "";
string fn = "";
string tmp = "";
try
{
//HttpFileCollectionBase fc = Request.Files;
//HttpPostedFileBase f = Request.Files[0];
if (upImg.ContentLength > MaxSize || upImg.ContentLength == )
{
tmp = "{ \"statusCode\" : \"200\", " +
"\"message\" : \"上传失败!文件大小不正确,必须是在0字节以上,0.5M字节以内\"," +
"\"navTabId\" : \"\"," +
"\"rel\" : \"\"," +
"\"callbackType\" : \"closeCurrent\"," +
"\"forwardUrl\": \"\"" +
"}";
return tmp;
}
if (!Directory.Exists(Server.MapPath("~/Upload")))
Directory.CreateDirectory(Server.MapPath("~/Upload"));
ext = upImg.FileName.Substring(upImg.FileName.LastIndexOf("."));
fn = DateTime.Now.ToString("yyyMMddHHmmssfff");
newFile = Server.MapPath("~/Upload") + "\\" + fn + ext;
upImg.SaveAs(newFile);
int dbid = Convert.ToInt32(id);
var data = db.Seller.Where(p => p.id == dbid).FirstOrDefault();
if (data != null)
{
data.TitleJPG = "/Upload/" + fn + ext;
db.SaveChanges();
}
//AJAX不支持上传文件,所以用了隐藏iframe方式,但返回就不能是JSON格式,只能返回字符串格式
tmp = "{ \"statusCode\" : \"200\", " +
"\"message\" : \"修改成功\"," +
"\"navTabId\" : \"dlg_modiSeller\"," +
"\"rel\" : \"\"," +
"\"callbackType\" : \"closeCurrent\"," +
"\"forwardUrl\": \"\""+
"}";
return tmp; }
catch (Exception ex)
{
tmp = "{ \"statusCode\" : \"200\", " +
"\"message\" : \"上传图片失败\"," +
"\"navTabId\" : \"\"," +
"\"rel\" : \"\"," +
"\"callbackType\" : \"closeCurrent\"," +
"\"forwardUrl\": \"\"" +
"}";
return tmp;
} }

后台接收文件并按ID修改数据库

<form action="@Url.Action("UploadTitle", "Seller", new { id = ViewData["id"].ToString() })" method="post" enctype="multipart/form-data" class="pageForm required-validate" onsubmit="return iframeCallback(this,dialogAjaxDone);" >
<input type="file" name="upImg" id="upImg" style="width: 180px" />
<button type="submit">文件上传</button>
</form>

前台上传代码

注意点:前台的input控件名与后台接收的一致,即(HttpPostedFileBase upImg, string id)中的upImg必须与前台的一致,否则接收不到文件

MVC与DWZ整合中部分问题的解决的更多相关文章

  1. 在DWZ框架中整合kindeditor复文本框控件

    今天上午在DWZ框架中整合kindeditor复文本框控件,发现上传图片是老是提示 “上传中,请稍候...”,上网查看别人说可能是文件路径问题,在想以前在其他项目中用这个控件一直没问题,到这里怎么会出 ...

  2. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  3. SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系

    一.Spring MVC与Spring整合时实例被创建两次的解决方案 1.问题产生的原因 Spring MVC的配置文件和Spring的配置文件里面都使用了扫描注解<context:compon ...

  4. 调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type

    调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type 解决方法1: 原因是Spring中的cglib-nodep-2.x.x.jar与Hibernate中 ...

  5. 【FreeMarker】Spring MVC与FreeMarker整合(二)

    前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...

  6. 在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录

    在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录 前言 最近有个Web项目,业务功能不复杂,但是这个客户(某政府部门)有两个硬性要求:1 ...

  7. 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...

  8. 架构和模式的区别:三层架构和MVC在应用开发中的位置

    架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构. 模式是GUI应用的一种职责分离设计. 三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不 ...

  9. Asp.net MVC 4新项目中创建area的后续操作

    Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...

随机推荐

  1. 大批量GPS坐标转百度坐标

    一. 百度地图API大批量转换时有数量限制,一个一个转.  用到的方法接口    /**      源坐标 格式:经度,纬度;经度,纬度… 最多支持100个;      源坐标类型:默认为1,即GPS ...

  2. Android开发工具全面转向Android Studio(1)——准备开发环境

    工欲善其事必先利其器,本文适合Android新手以及用过Eclipse而没用过Android Studio开发Android的老手,众所周知,谷歌是不会再维护和开发ADT了,旧的ADT已经是完全不能渲 ...

  3. PHP获取具有相同name的多个input表单信息

    首先是表单应该这样写,注意每个 name="name[]"后面是有一个方括号的.这是PHP特有的获取具有相同name的多个input元素value的方法.(复选框也是采用这种方法) ...

  4. POJ 2010 Moo University - Financial Aid treap

    按第一关键字排序后枚举中位数,就变成了判断“左边前K小的和 + 这个中位数 + 右边前K小的和 <= F",其中维护前K小和可以用treap做到. #include <cstdi ...

  5. php内核探索 [转]

    PHP内核探索:从SAPI接口开始 PHP内核探索:一次请求的开始与结束 PHP内核探索:一次请求生命周期 PHP内核探索:单进程SAPI生命周期 PHP内核探索:多进程/线程的SAPI生命周期 PH ...

  6. javascript除法如何取整

    Math.round(x) 四舍五入,如Math.round(0.60),结果为1:Math.round(0.49),结果为0: Math.floor(x) 向下舍入,如Math.floor(0.60 ...

  7. Python 第三天 文件操作(2)

    文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  fi ...

  8. PHP 实现单一入口 apache配置

    在apache的httpd.conf加入,需要把LoadModule rewrite_module modules/mod_rewrite.so前面的“#”去掉 DocumentRoot / < ...

  9. LeetCode OJ-- 二战 Combinations

    在1 - 10 中,求出 7 个数的排列组合. 出现了超时,而超时的原因是有好多重复情况,复杂度上来说,和答案的复杂度是一样的,但是答案中重复了太多了,体会下. 超时1: class Solution ...

  10. js基础知识点总结

    如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命 ...