MVC与DWZ整合中部分问题的解决

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 = 597152;     // 最大上传大小,默认是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 == 0)
                {
                    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必须与前台的一致,否则接收不到文件

时间: 2024-11-05 02:45:25

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

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

今天上午在DWZ框架中整合kindeditor复文本框控件,发现上传图片是老是提示 “上传中,请稍候...”,上网查看别人说可能是文件路径问题,在想以前在其他项目中用这个控件一直没问题,到这里怎么会出现这个错误呢? 于是从源头一路查找过去, 找到上传配置 uploadJson: '/Scripts/kindeditor-4.1.4/asp.net/upload_json.ashx',于是打开上传文件的upload_json.ashx文件,发现context.Response.Write(Json

日常开发系列——Maven+Spring+Spring MVC+MyBatis+MySQL整合SSM框架

进入公司开发已经3个多月了,项目用的是Maven+Spring+Spring MVC+MyBatis+MySQL,趁这个周末有空,仔细研读一下公司项目的基本框架,学习一下这个环境是怎么搭建起来的,经过自己的研究终于是成功地试验出来.自己亲手做的才算是自己学到的,决定将其记录下来,以便日后查询,源码同时也欢迎大家拍砖. 一.数据库的准备 这次整合试验想着做个简单的,就决定做一个普通的用户登陆,就一张表吧 我新建的数据库名字是test,然后新建了一张表 DROP TABLE IF EXISTS `u

ssm 整合中js,css 文件无法引入

问题:ssm 整合中第三方 js,css 文件无法引入 检查:ssm 整合配置完好 无拦截器拦截 spring mvc  静态资源已配置 编译时可以直接跳转到js  css 问题发现 js  css 文件放在WEB-INF 下,导致无法引入 解决 js  css 文件放在webapp 下,可以引入 原文地址:https://www.cnblogs.com/jsbk/p/9461374.html

MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的?(转载)

MVC之前的那点事儿系列(9):MVC如何在Pipeline中接管请求的? 文章内容 上个章节我们讲到了,可以在HttpModules初始化之前动态添加Route的方式来自定义自己的HttpHandler,最终接管请求的,那MVC是这么实现的么?本章节我们就来分析一下相关的MVC源码来验证一下我们的这个问题. 先创建一个MVC3的Web Application,选择默认的模板以便创建以后就默认包含HomeController和AccountController.我们知道MVC要先接管请求才能通过

MVC设计模式在网站中的应用

MVC设计模式在网站中的应用 以淘宝的购物车为例 一.结合六个基本质量属性 可修改性 采用MVC设计模式的时候,可以将视图.模型.控制器分析,将用户动作.数据表示.应用数据分离开来,如果用户需要以不同的视图来展示,只需要修改视图中的代码即可,对于模型和控制器的代码,则不需要做改动,即可满足要求,使得对代码的修改非常方便. 易用性 用户可以直接在商品展示界面中将商品添加进购物车,直接点开购物车就可以看到已经添加的商品:删除某一件商品时,也可以直接在商品的后面点击删除,确认之后,即可删除. 安全性

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth

Asp.Net MVC 4 Web API 中的安全认证-使用OAuth 各种语言实现的oauth认证: http://oauth.net/code/ 上一篇文章介绍了如何使用基本的http认证来实现asp.net web api的跨平台安全认证. 这里说明一个如何使用oauth实现的认证.oauth大家可能不陌生.那么这里需要注意的是我们使用的是.net平台一个比较好的开源oauth库. DOTNETOPENAUTH. 就像上图所示,我们需要一个ISSSUE Server来给我们一个token

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

Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具体步骤: 1. 检查早Global.asax和\App_Start\RouteConfig.cs中是否已经自动添加了AreaRegistration.RegisterAllAreas();如不存在,进入第2步,否则第3步 2. 在\App_Start\RouteConfig.cs中,添加AreaRe

Spring与Hibernate整合中,使用OpenSessionInViewFilter后出现sessionFactory未注入问题

最近在知乎看到一句话,保持学习的有一种是你看到了更多的牛人,不甘心,真的不甘心. Spring和hibernate整合的时候,jsp页面做展现,发现展现属性出现: org.apache.jasper.JasperException: could not initialize proxy - no Session - Class: org.hibernate.proxy.AbstractLazyInitializer File: AbstractLazyInitializer.java no se

在 ASP.NET MVC Web 应用程序中输出 RSS Feeds

RSS全称Really Simple Syndication.一些更新频率较高的网站可以通过RSS让订阅者快速获取更新信息.RSS文档需遵守XML规范的,其中必需包含标题.链接.描述信息,还可以包含发布时间.最后更新时间等信息. 本文将介绍通过LINQ to XML生成XML文档,并在ASP.NET MVC Web应用程序中输出. 在生成RSS文档前,先简单了解一下RSS的结构.根节点rss下有channel节点,channel节点的一些子节点(title,link,description)包含