我有一个文本框,经过验证可确保文件上传页面有文本内容。
我的问题是,当页面首次加载并且您仍然单击页面上的位置时,ControlToValidate会立即触发,这是一个问题,因为我只希望页面在您单击上载按钮时验证文本框。
您最终被困在“上传文件”页面上,直到您在文本框中键入一些随机文本,即使您单击链接以获取站点中的其他位置(即徽标以返回主页)。
以下是我的相关代码段:
<asp:Label runat="server">Name</asp:Label>:
<br />
<asp:TextBox runat="server" ID="txtName"></asp:TextBox><asp:RequiredFieldValidator
runat="server" ID="txtNameRequired" Display="Dynamic" ControlToValidate="txtName"
Text="Name is required." CssClass="errorText" /><br />
<asp:Button runat="server" ID="btnUpload" Text="Upload" OnClick="btnUpload_Click" />
</asp:Panel>
所以我有几个想法但不确定如何实现它们:
1)找到一些属性,将ControlToValidate仅链接到点击上传按钮。
或
2)设置ControlToValidate,使其仅在PostBacks上调用
我只是不确定从哪里开始,并且找不到任何专门做这个的属性!
非常感谢你的时间!
答案 0 :(得分:1)
将其他发布控件的CausesValidation
设置为false。
<asp:Button CausesValidation="false" Text="Cancel" Name="CancelButton" />
答案 1 :(得分:1)
设置按钮的ValidationGroup属性和控件以验证相同的值。