杂谈: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;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值