我有一个只读的文本框,它有一个必需的验证程序附加到它。此文本框只能使用其他控件进行填充。Asp.Net验证器和只读文本框
问题是,只读文本框不会存储它们的值并在回发时将其恢复,所以这会导致验证器在每次回发后都会出现问题。我知道有办法强制它存储价值,但我实际上不希望它存储它。
反正有过去吗?
编辑:这是产生这些问题的控制:
<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控件覆盖。请注意,如果我关闭只读(或启用,尝试两种)问题消失。
你为什么不尝试tbFakeupload'的'值存储在隐藏'和field'在'PostBack'后恢复它永远不会失去它的价值,验证器不会触发 –