2013年6月25日 星期二

{C#} TextBox ReadOnly Postback取不到值

Control中,如使用ReadOnly,在Post back時會取不到值的問題

.net Control--
<asp:TextBox ID="abc" runat="server"  Readonly=true ></asp:TextBox>
html Control--
<input type="text" id="abc" name="abc" readonly="readonly" />

解決方式:
在Load Page 時將控制項屬性加入,
不在.aspx就先設定,可避免Post Back 時Viewstate Control值不被改變而導致取不到回寫值
 if (!IsPostBack)
            {
                txtReceivingDate.Attributes.Add("readonly", "readonly");
            }


參考資訊:
http://blog.darkthread.net/blogs/darkthreadtw/archive/2009/10/21/textbox-readonly-and-disabled.aspx
http://www.dotblogs.com.tw/newmonkey48/archive/2009/11/08/11479.aspx