2

我想从后面的代码中获取 ControlToValidate 属性,这是我的 aspx。

<asp:CustomValidator runat="server" ID="custtxtTest" OnServerValidate="custtxtTest_ServerValidate" ControlToValidate="txtTest" ForeColor="Red" Text="*" />

在我后面的代码中,我想获取属性“ControlToValidate”,但这似乎不是源的有效属性:

 protected void custtxtTest_ServerValidate(object source, ServerValidateEventArgs args)
    {
    string test = source.ControlToValidate;
    }

我检查了Asp.Net 自定义验证器:如何在 ClientValidationFunction 上获取“controlToValidate”属性?但这仅适用于客户端功能,而不是背后的代码。

4

1 回答 1

7

这应该有效:

var validator = (source as CustomValidator);
string controlToValidate = validator.ControlToValidate;            
TextBox txt = validator.NamingContainer.FindControl(controlToValidate) as TextBox;

问候,乌罗斯

于 2013-11-09T15:00:17.567 回答