ASP.NET 最近WEB开发遇到的小问题
2013-07-02 19:56
363 查看
最近在做web开发中遇到的小问题进行下总结:
1.在做WEB页面见传值过程中,发现中文内容直接传值会出现乱码现象,如:
function ViewTicketReportInfo(data) {
var time = $("#txt_DateMonth").val();
var url = "../OrderReport/DayTicketHistogram.aspx?round=" + Math.random() + "&CustomerName=" + data+ "&Time=" + time;
var ws = 1100;
var sw = 500;
var winS = "dialogWidth:" + ws + "px;dialogHeight:" + sw + "px;alwaysRaised:yes;center:yes;status:no;help:no;z-look:yes;dialogTop:no;scroll:no";
window.showModalDialog(url, window, winS);
}
这个模态窗口在传送值过程中,data的值可能会在DayTicketHistogram.aspx页面无法正常获取到,导致后台的查询或其他操作,由于参数不当的问题出现问题.
解决方法:
就是在传输参数的时候使用escape()
方法进行编译下,是使值适应于WEB传送的格式,使得指定页面能正常获取到值.
2.最近在多次使用模块窗口中发现一个问题 浏览器兼容性问题 如chome浏览器等
var url = "../OrderReport/GetSalePointNameList.aspx?round=" + Math.random();
var ws = 730;
var sw = 550;
var winS = "dialogWidth:" + ws + "px;dialogHeight:" + sw + "px;alwaysRaised:yes;center:yes;status:no;help:no;z-look:yes;dialogTop:no;scroll:no";
var tpValue = window.showModalDialog(url, window, winS);
if(tpValue !=""||tpValue !=null){
$("#textSalePointName").val(tpValue);
}
上面这段代码 如果是运行在IE浏览器是没有什么问题的,因为IE对showModalDialog进行了处理,只会弹出一个模块窗口,操作完成关闭后才可以操作其他的.但如果在chome或其他浏览器中时,就会出现问题.
比如: 假设你的模块窗口存在翻页功能时,当你进行完翻页操作是没问题的,但是如果你想传递翻页后数据中的一条记录内容到父页面时会获取不到,其原因就是chome浏览器对showModalDialog窗体解析时是将窗体进行opener操作的,所以在chome中可以在模块窗口没有关闭的情况下,还是可以对父窗体进行操作.
解决方法:
在指定模块窗口中添加代码:
if (window.opener != undefined) {
window.opener.returnValue = result;
} else {
window.returnValue = result;
}
表示判断窗口打开方式并对各种打开方式返回值都进行赋值.
父窗体则加入
if (tpValue == undefined) {
tpValue = window.returnValue;
window.returnValue = "";//如果打开模块窗口 什么都没有操作 直接关闭 会使页面将上次操作的值进行返回给父窗体所以进行清空操作,可以根据需求添加这句话
}
if (tpValue != undefined) {
$("#textSalePointName").val(tpValue);
}
1.在做WEB页面见传值过程中,发现中文内容直接传值会出现乱码现象,如:
function ViewTicketReportInfo(data) {
var time = $("#txt_DateMonth").val();
var url = "../OrderReport/DayTicketHistogram.aspx?round=" + Math.random() + "&CustomerName=" + data+ "&Time=" + time;
var ws = 1100;
var sw = 500;
var winS = "dialogWidth:" + ws + "px;dialogHeight:" + sw + "px;alwaysRaised:yes;center:yes;status:no;help:no;z-look:yes;dialogTop:no;scroll:no";
window.showModalDialog(url, window, winS);
}
这个模态窗口在传送值过程中,data的值可能会在DayTicketHistogram.aspx页面无法正常获取到,导致后台的查询或其他操作,由于参数不当的问题出现问题.
解决方法:
就是在传输参数的时候使用escape()
方法进行编译下,是使值适应于WEB传送的格式,使得指定页面能正常获取到值.
2.最近在多次使用模块窗口中发现一个问题 浏览器兼容性问题 如chome浏览器等
var url = "../OrderReport/GetSalePointNameList.aspx?round=" + Math.random();
var ws = 730;
var sw = 550;
var winS = "dialogWidth:" + ws + "px;dialogHeight:" + sw + "px;alwaysRaised:yes;center:yes;status:no;help:no;z-look:yes;dialogTop:no;scroll:no";
var tpValue = window.showModalDialog(url, window, winS);
if(tpValue !=""||tpValue !=null){
$("#textSalePointName").val(tpValue);
}
上面这段代码 如果是运行在IE浏览器是没有什么问题的,因为IE对showModalDialog进行了处理,只会弹出一个模块窗口,操作完成关闭后才可以操作其他的.但如果在chome或其他浏览器中时,就会出现问题.
比如: 假设你的模块窗口存在翻页功能时,当你进行完翻页操作是没问题的,但是如果你想传递翻页后数据中的一条记录内容到父页面时会获取不到,其原因就是chome浏览器对showModalDialog窗体解析时是将窗体进行opener操作的,所以在chome中可以在模块窗口没有关闭的情况下,还是可以对父窗体进行操作.
解决方法:
在指定模块窗口中添加代码:
if (window.opener != undefined) {
window.opener.returnValue = result;
} else {
window.returnValue = result;
}
表示判断窗口打开方式并对各种打开方式返回值都进行赋值.
父窗体则加入
if (tpValue == undefined) {
tpValue = window.returnValue;
window.returnValue = "";//如果打开模块窗口 什么都没有操作 直接关闭 会使页面将上次操作的值进行返回给父窗体所以进行清空操作,可以根据需求添加这句话
}
if (tpValue != undefined) {
$("#textSalePointName").val(tpValue);
}
相关文章推荐
- EF Database First with ASP.NET MVC: Creating the Web Application and Data Models开发遇到问题的解决办法
- 最近我遇到的一些关于asp.net开发中的问题。。
- asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题
- 转:asp.net "Web Site Administration Tool "使用中遇到的问题
- asp.net 在DNN模块开发中遇到的resx怪问题
- ASP.NET开发web应用遇到的javascript跨域请求问题 推荐
- 初学ASP.NET开发web应用时遇到的一些常见问题和解决方法
- 发布ASP.NET MVC 4.0 网站到Web服务器上遇到的若干问题
- 关于asp.net网站URLRewriter开发布署IIS中遇到的问题
- ASP.NET MVC 开发中遇到的两个小问题
- 我建立第一个Asp.net Web application的时候遇到的问题
- 【原创】ASP.NET MVC3开发中遇到问题以及解决方法
- vs2k5 中asp.net "Web Site Administration Tool "使用中遇到的问题
- 当我们在ASP.NET开发时,经常会遇到一个头疼的问题:字符数的控制
- 初学ASP.NET开发web应用时遇到的一些常见问题和解决方法
- asp.net网站开发过程中遇到的问题
- FastReport ASP.Net开发Web报表时直接打印的问题
- ASP.NET MVC3开发中遇到问题以及解决方法
- ASP.NET开发遇到的权限问题
- ASP.NET MVC3开发中遇到问题以及解决方法