Asp.Net验证器和只读文本框

时间:2012-06-07 20:00:46

标签: c# asp.net validation

我有一个只读文本框,附带了一个必需的验证器。此文本框只能使用其他控件填充。

问题是只读文本框不会存储它们的值并在回发时恢复它,所以这会导致验证器每次回发时都会爆发。我知道有办法强制它存储值,但我实际上不希望它存储它。

过去有没有?

编辑:这是导致问题的控件:

            <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,尝试两者),问题就会消失。

2 个答案:

答案 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"