做Web网页遇到的些问题&j解决方法

1.在做问卷调查的时候,将工号和姓名采用Des加密(其他加密方式也会产生下面的问题),然后使用Reques.QueryString[] 获取传入的参数值,这里就遇到问题了,有些用户点击按钮进去答题界面时报代码错误,定位在解密方法语句块内,开始以为是加密方法的问题,换了种方式,发现还是存在这样的问题。这里采用了比较笨但是直接有效的方法,将Reques.QueryString[] 的值显示出来分析,发现加密字符串里面的‘+’号都变成了空格,原因是浏览器接收加密后的字符串 request 请求回来时会自动解密一次,+号都变为了空格 ,处理方法是:EncodeHelper.Decrypt(Request.QueryString[0].ToString().Replace(" ","+"), "123abcde");将空格替换回来‘+’号。

2.background-image 写法Ie9以下不显示。

初始写法,在IE8里面显示不出图片,谷歌浏览器等可以:

.a
{
background-image: url(image/title.jpg);
background-repeat: no-repeat;
display: block;
}   

后面百度了下,有人说将图片格式换成png等别的格式就可以了,抱着试试的心态,替换成了如下,发现背景图片可以正常显示了。

.a
{
background-image: url(image/title.png);
background-repeat: no-repeat;
display: block;
}   

3、不同版本的IE浏览器对同一颜色的色块分配有差异。

为了达到公司的荷兰蓝颜色,发现IE8,IE10对颜色解析后的rgb比例有差异。例如

.d
{
filter: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#013B84,endColorStr=#013B84); /*IE 6 7 8*/
background: -ms-linear-gradient(top, #01458E,#01458E); /* IE 10 */
background: -webkit-gradient(linear, 0% 0%, 0% 100%,from(#01458E), to(#01458E)); /*谷歌*/
}

4.css兼容浏览器,加上 !important

#jqContent{
margin:68px auto 0px !important;
padding-top:0px;
}

5.地址栏上?传值,传值内容为中文

 var formType = "接待";

"&formType="+escape(formType)+" 需要加escape对汉字进行编码后传输,

接收端再进行转码为中文:Server.UrlDecode(Request.QueryString["formType"]) 这样就可以了。

6.ASP.NET中textBox控件属性界面设置ReadOnly="true"|| enabled=“false”时,后台使用this.textbox.text读取不到文本值,要实现前端用户不可编辑,且能读取到文本框值,需要在page_load事件输入如下代码,TextBox.Attributes.Add("readonly", "readonly");

 

7.当界面上文本框太多时,设置鼠标滑动,界面往下走的效果(类似滚动条功能,但没有滚动条出现)
紧跟form标签
 <div style="position:absolute; height:600px; overflow:scroll">
8.禁用表单上的enter按钮触发事件(例如弹出的新增界面,默认当你按enter键时,会触发表单上的保存按钮)
 <form id="form1" runat="server" onkeydown="if(event.keyCode==13) return false;">
这里问题来了,界面上的textbox如果需要注册enter事件呢,例如输入物料编码联带出物料详细信息
protected void Page_Init(object sender, EventArgs e)
{

AjaxPro.Utility.RegisterTypeForAjax(typeof(Sheets_NVTFAE_SampleForm));

// this.txtPN.Attributes.Add("onblur", "getMaterialInfo();");
this.txtPN.Attributes.Add("onkeydown", "if(event.keyCode==13 ){getMaterialInfo();}"); //为文本框添加enter事件  getMaterialInfo()为界面上的JS函数

}

.CS文件中
 [AjaxPro.AjaxMethod]
    public string GetMaterialInfo(string PN)
    {
        StringBuilder sb = new StringBuilder();
        string sql = string.Format("SELECT 物料编码,物料描述,规格,基本计量单位 FROM view_Nvt_MaterielNo where 物料编码 = '{0}'", PN);
        DataTable dt = DB.ExeSQL(sql);

        string sqlGetFAENo = string.Format(@"select FAE单号 from H3Cloud.dbo.I_NVT办公流程_NVTFAE审核流程 where 供应商PN ='{0}'", PN);
        DataTable dtFAENo = DB.ExeSQL(sqlGetFAENo);
        if (dt.Rows.Count > 0)
        {
            sb.AppendFormat("{0}@", dt.Rows[0][0].ToString());
            sb.AppendFormat("{0}@", dt.Rows[0][1].ToString());
            sb.AppendFormat("{0}@", dt.Rows[0][2].ToString());
            sb.AppendFormat("{0}@", dt.Rows[0][3].ToString());
            if (dtFAENo != null && dtFAENo.Rows.Count > 0)
            {
                sb.AppendFormat("{0}@", dtFAENo.Rows[0][0].ToString());
            }
         
        }
        return sb.ToString();
    }
ASPX表单文件

//     通过物料号带出物料信息
     function getMaterialInfo() {
            var pn = "";
            var txtPN = document.getElementById("txtPN");
            var txtPNName = document.getElementById("txtPNName");
            var txtSpecification = document.getElementById("txtSpecification");
            var txtUnit = document.getElementById("txtUnit");
            var txtFAENo = document.getElementById("txtFAENo");
            if (txtPN != null) {
                pn = txtPN.value;
                if(pn != ""){
                    var oAjax = Sheets_NVTFAE_SampleForm.GetMaterialInfo(pn);
                    if(oAjax.error == null){
                        var str = oAjax.value;
                        if(str != ""){
                            var arr = str.split("@");
                            txtPN.value = arr[0];
                            txtPNName.value = arr[1];
                            txtSpecification.value = arr[2];
                            txtUnit.value = arr[3];
                            txtFAENo.value = arr[4];
                           
                        }
                        else{
                            txtPNName.value = "";
                            txtSpecification.value = "";
                            txtUnit.value = "";
                            txtFAENo.value="";
                        }
                        
                    }
                    else{
                        alert(oAjax.error.Message);
                    }
                }
            }
        }
表单textbox enter事件联带信息

 9.IDV内设置滚动条

   DIV出现横竖滚动条
<div style = "overflow-y: scroll; width:1400px ; height:600px"> overflow-y: scroll 竖向滚动条
只有竖向滚动条,没有横向滚动条
<DIV style="OVERFLOW-Y: scroll; OVERFLOW-X:hidden; width: 685px; height: 180px"><DIV>

 

 

 




 

posted @ 2018-10-30 13:20  古道子  阅读(1527)  评论(0编辑  收藏  举报