我有一个只读文本框,附带了一个必需的验证器。此文本框只能使用其他控件填充。
问题是只读文本框不会存储它们的值并在回发时恢复它,所以这会导致验证器每次回发时都会爆发。我知道有办法强制它存储值,但我实际上不希望它存储它。
过去有没有?
编辑:这是导致问题的控件:
<li class="fakeUploadLi">
<asp:Label CssClass="lbl" ID="lb" runat="server" Text="Image:"></asp:Label>
<div class="fakeupload">
<asp:TextBox runat="server" ID="tbFakeupload" Enabled="false" />
</div>
<asp:FileUpload ID="fuImage" runat="server" CssClass="fileUpload" onchange="this.form.ctl00$cphAdmin$tbFakeupload.value = this.value;" />
<asp:RequiredFieldValidator ValidationGroup="newImage" runat="server" ControlToValidate="tbFakeupload"
ErrorMessage="Please select an image first.">*</asp:RequiredFieldValidator>
</li>
它是原始FileUpload html控件的叠加层。请注意,如果我关闭readonly(或Enabled,尝试两者),问题就会消失。
答案 0 :(得分:3)
试试这个:
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add("readonly", "readonly");
}
http://www.codeproject.com/Articles/33649/ViewState-and-Readonly-Property-of-Textbox
答案 1 :(得分:0)
尝试将readonly
属性更改为Enabled = "false"