我有这个asp.net控件:
<asp:TextBox ID="txtName" runat="server" EnableViewState="false" ReadOnly="true" />
我希望只读它,通常是ReadOnly="trye"
或Enable="false"
如果我在客户端通过javascript更改此控件的值,更改的值将不会通过服务器端的回发传播...无论我使用javascript做什么都行不通,除非我删除{{1} }和readonly="true"
。
如何将其设为只读,以便当我使用javascript更改值时,值将通过回发传播?
答案 0 :(得分:0)
解决“在回发期间由javascript更改数据失败” 最好用这篇文章来描述 ViewState and Readonly Property of Textbox
例如,假设我们有这个asp.net控件:<asp:TextBox ID="txtName" runat="server" EnableViewState= "false" ReadOnly="true" />
如果您通过客户端的javascript更改此控件的值,则更改的值将不会通过服务器端的回发传播...除非您删除readonly="true"
,否则无论您使用javascript做什么。现在有一个解决这个问题的方法,如上文所述。
只需将其放入PageLoad事件
即可if (!IsPostBack)
txtName.Attribute.Add("readonly","readonly");
你已经完成了。如果您的意图是禁用控件进行编辑,请不要忘记删除ReadOnly="true"
或Enable="false"
,只需使用上面的代码段即可。如果你穿上它,请不要忘记删除Enable="false"
。