Asp.Net 验证程序并仅读取文本框

本文关键字:读取 取文本 Net 验证 程序 Asp | 更新日期: 2023-09-27 18:36:41

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

问题是只读文本框不存储其值并在回发时还原它,因此这会导致验证程序在每次回发时爆发。我知道有一些方法可以强制它存储值,但我实际上不希望它存储它。

过去了还有吗?

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

            <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>

它是原始文件上传 html 控件的覆盖层。请注意,如果我关闭只读(或启用,尝试两者),问题就会消失。

Asp.Net 验证程序并仅读取文本框

试试这个:

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

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