代码改变世界

asp.net ajax calendar控件中textbox禁止客户端输入

2009-09-02 09:43  Fred-Xu  阅读(1109)  评论(0编辑  收藏  举报
项目中使用了Asp.net ajax toolkits 里的Calendar控件,发现默认配置的TextBox在选中日期后,客户端可以对其进行修改(加入修改为2009-dd-10),如果客户端或者服务器端没有对TextBox输入的内容作日期判断就会报错。

我把TextBox的Readonly属性设置为True,这样一来客户端是没法输入啦,但是后台就无法获得Calendar选择的日期啦,百度/google了下,也没找到个好的解决方法。
于是查看了下HTML代码,如果Readonly=True,HTML代码中会有<input readonly=readonly />,看到这个我醒悟过来,因为TextBox是控件,有状态保持,所以我用如下代码动态给TextBox的HTML添加Readonly属性,问题就解决啦。
protected void Page_Load(object sender, EventArgs e)
        {
            
this.txtDatePicker.Attributes.Add("readonly""readonly");
        }