2013-11-09 45 views
1

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

<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 custom validator: how to get the 'controlToValidate' property on ClientValidationFunction?但这只是为一个客户端功能,不在代码后面。

回答

5

这应该工作:

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

问候, 乌罗什

相关问题