• 做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; 1400px ; height:600px"> overflow-y: scroll 竖向滚动条
    只有竖向滚动条,没有横向滚动条
    <DIV style="OVERFLOW-Y: scroll; OVERFLOW-X:hidden; 685px; height: 180px"><DIV>



  • 相关阅读:
    数据库连接池
    一致性hash
    java 集合大家族
    linkedlist
    HashMap
    hashcode
    Job 逻辑执行图
    CDN
    网站缓存
    Mysql临时文件目录控制
  • 原文地址:https://www.cnblogs.com/gudaozi/p/9776583.html
Copyright © 2020-2023  润新知