1

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

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

反正有过去吗?

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

            <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 控件的覆盖。请注意,如果我关闭只读(或启用,都尝试了),问题就会消失。

4

2 回答 2

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

于 2012-06-07T20:08:48.920 回答
0

尝试将readonly属性更改为Enabled = "false"

于 2012-06-07T20:10:19.713 回答