Если вы не установили свойство ValidationGroup RequiredFieldValidator в вашем usercontrol, то проверка поля будет срабатывать при отправке формы независимо от того, какая кнопка вызвала обратную передачу.
Если вы хотите связать определенные валидаторы с определенными кнопками отправки, вам придется связать их с той же ValdiationGroup.
Если вы устанавливаете ValidatioGroup в вашем пользовательском элементе управления, но обнаруживаете, что валидациязапускается для всех экземпляров элемента управления, тогда вам нужно взять некоторый атрибут экземпляра пользовательского элемента управления и включить его в группу ValidationGroup, чтобы гарантировать, что пользовательский элемент управления проверяется исключительно для любой кнопки отправки на элементе управления.
ЗдесьВот пример:
<asp:TextBox ID="txtTest" runat="server"/>
<asp:RequiredFieldValidator ID="txtTestReqVal"
runat="server"
Display="Dynamic"
ControlToValidate="txtTest"
Text="* Field is required"
ValidationGroup="valGroup<%= ClientId %>"
CssClass="modelError"
/>
<asp:Button ID="btnSubmit" runat="server"
Text="Submit"
CausesValidation="true"
ValidationGroup="valGroup<%= ClientId %>"
/>
Хитрость здесь заключается в части <% = ClientId%>.Это вставит уникальный идентификатор на стороне клиента экземпляров в значение группы проверки.Это означает, что вся проверка для этих элементов управления будет сгруппирована по одному уникальному экземпляру пользовательского элемента управления.Таким образом, вы можете иметь несколько экземпляров одного и того же пользовательского элемента управления на одной странице, но все они будут уникально проверены.