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的值
  • 相关阅读:
    调用微信扫一扫接口
    Http错误代码解释
    php goto的用法
    Yii2.0-生成二维码实例
    飞鹅WiFi打印机配置,php调用接口
    HTML5 为什么只需要写 <!DOCTYPE HTML>?
    VueJs之 v-bind
    react 组件导出
    前端代码规范
    git与github的文件推送
  • 原文地址:https://www.cnblogs.com/wschacker/p/1230480.html
Copyright © 2011-2022 走看看