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 = ; // 最大上传大小,默认是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整合中部分问题的解决的更多相关文章
- 在DWZ框架中整合kindeditor复文本框控件
今天上午在DWZ框架中整合kindeditor复文本框控件,发现上传图片是老是提示 “上传中,请稍候...”,上网查看别人说可能是文件路径问题,在想以前在其他项目中用这个控件一直没问题,到这里怎么会出 ...
- 转载 Spring、Spring MVC、MyBatis整合文件配置详解
Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
一.Spring MVC与Spring整合时实例被创建两次的解决方案 1.问题产生的原因 Spring MVC的配置文件和Spring的配置文件里面都使用了扫描注解<context:compon ...
- 调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type
调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type 解决方法1: 原因是Spring中的cglib-nodep-2.x.x.jar与Hibernate中 ...
- 【FreeMarker】Spring MVC与FreeMarker整合(二)
前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...
- 在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录
在ASP.NET MVC 4 on Mono中使用OracleClient in CentOS 6.x的问题记录 前言 最近有个Web项目,业务功能不复杂,但是这个客户(某政府部门)有两个硬性要求:1 ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- 架构和模式的区别:三层架构和MVC在应用开发中的位置
架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构. 模式是GUI应用的一种职责分离设计. 三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不 ...
- Asp.net MVC 4新项目中创建area的后续操作
Asp.net MVC 4新项目中创建area后,往往HomeController与area的HomeController路由发生混淆,需要手工设置一些地方避免mvc无法识别默认路由的状况. 无废话具 ...
随机推荐
- 实用的PHP功能详解(一)_php glob()用法
一.使用glob()查找文件 大部分PHP函数的函数名从字面上都可以理解其用途,但是当你看到 glob() 的时候,你也许并不知道这是用来做什么的,其实glob()和scandir() 一样,可以用来 ...
- Android 动画详解
这次主要就介绍android动画,android动画目前分为三种形式,Tween Animation 这个只能应用于view对象上面的,Drawable Animation这个是帧动画,就是类似我们有 ...
- 用TypeScript开发爬虫程序
全局安装typescript: npm install -g typescript 目前版本2.0.3,这个版本不再需要使用typings命令了.但是vscode捆绑的版本是1.8的,需要一些配置工作 ...
- Python学习(基础简绍)
今天终于开始了python的学习,至于python的历史我就不说了,百度百科中太详细了,我这里说就是关公面前耍大刀,太自不量力了,所以,废话不多说,直接讲讲我惊天学习Python的收获吧. 1.Pyt ...
- 脉冲计数功能在ESM335x-Linux主板上的实现
1.综述 在工业控制中,经常需要获取脉冲信号计数值.频率.周期.占空比等参数.英创嵌入式主板ESM335X系列 Linux系统现已实现外部输入脉冲信号的计数.频率.周期.占空比测量功能. 主要功能及技 ...
- 一个sendMessage
Message 1.判断是否同意协议.2.验证验证码是否正确.3.验证手机是否符合规则,符合规则就用message()发送短信,验证码的有效期以及使用的短信模板,在配置文件中进行管理.返回值下标为st ...
- TCP、UDP、HTTP、SOCKET之间的区别
IP:网络层协议: TCP和UDP:传输层协议: HTTP:应用层协议: SOCKET:TCP/IP网络的API. TCP/IP代表传输控制协议/网际协议,指的是一系列协议. TCP和UDP使用IP协 ...
- 数据库.bak文件还原报错的处理办法
今天从网上下了个Demo,里面有个.bak文件,就试着还原了一下,结果发现报了错.是了两种方式导入,都不行. 最终找到了解决办法: 可以直接用sql语句对.bak文件进行还原. RESTORE DAT ...
- ORA-12543: TNS:destination host unreachable
在连接Oracle数据库时,如果使用Tnsnames.ora中配置的数据源名称有时会报 ORA-12543: TNS:destination host unreachable 异常,比如:在Tnsna ...
- DBCP配置数据库连接乱码问题
driverClassName = com.mysql.jdbc.Driver url = jdbc:mysql:///bigdata username = root password = 82371 ...