zoukankan      html  css  js  c++  java
  • C# VS JS之readonly的区别

    C# VS JS之readonly的区别
    在javascript中如果定义了一个input的readonly(假使默认值为:Jumbot Is Pig),那么只是阻止了用户编辑这个文本框,而用户可以通过javascript给其赋值(如改为Jumbot Is Sheep),那么表单提交后(get和post),取到的值仍然是Jumbot Is Sheep

    然而,如果将服务器组件TextBox的Readonly属性改为True后,尽管你前台使用javascript改了它的值,提交后,获取到的Text仍然是之前的值...

    郁闷:折腾了我半天,记录下来,以示警戒!!

    PS:因为经常会在C#中使用ajax,然后对输入框的可读限制目的只是为了防止客户端用户输入,但还是允许程序自己通过javascript来赋值(如日期输入框,自动统计输入框),以前在ASP中不会遇到此问题,如今C#就不一样了。。。

    所以以后尽量使用
    Copy code
        protected void Page_Load(object sender, EventArgs e)
        {
            this.t1.Attributes.Add("readonly", "readonly");
        }


    而不使用

    Copy code
        protected void Page_Load(object sender, EventArgs e)
        {
            this.t1.ReadOnly = true;
        }



    这是MS为安全考虑的,但是仍然可以通过 Request.From[TextBox1.UinqueID]取得脚本设置的数据,
    如果ReadOnly=true的话,MS是使用记在ViewState的值
  • 相关阅读:
    win10系统磁盘占用率高的解决方法,占用100%的问题
    码率/比特率定义
    风好大,我好冷
    风好大,我好冷——团队作品
    风好大,我好冷——团队介绍
    风好大,我好冷——个人分工理解
    风好大,我好冷——团队风采
    命令行作业
    面向对象程序设计作业三
    作业二
  • 原文地址:https://www.cnblogs.com/wschacker/p/1230480.html
Copyright © 2011-2022 走看看