Ответ, предоставленный Shrage, оказался полезным, но потребовался дополнительный поиск, чтобы это решение работало. Я поместил его код в код позади пространства имен страницы, над которой работал. Кроме того, мне пришлось зарегистрировать элемент управления и изменить его обновление.
Зарегистрировать расширенный контроль textboxex; это идет прямо под директивой страницы
<%@ Register TagPrefix="group" Namespace="ESM_Web_Portal" Assembly="ESM Web Portal" %>
Обновите текстовое поле, которое вы хотите расширить на странице aspx
<group:TextBoxEx ID="txbEditPartNumber" runat="server" Text='<%# Bind("part_number") %>'></group:TextBoxEx>
Тогда в коде позади я смог использовать расширенный элемент управления TextBox
protected void CheckForExistingPartNumber(object sender, ServerValidateEventArgs e)
{
CustomValidator cv = ((CustomValidator)sender);
TextBoxEx tb = (TextBoxEx)cv.Parent.FindControl(cv.ControlToValidate);
if (SupplyBLL.GetSupplyByPartNumber(e.Value) != null && tb.Text != tb.OldText)
{
e.IsValid = false;
}
}