我有一个CustomValidator控件,在OnServerValidate事件中我想设置正在验证的控件的属性。
您会认为经验证的控件对象在OnServerValidate事件中可用,但事实并非如此。然后我尝试执行FindControl但似乎无法访问ControlToValidate值。
有人请帮助我验证TextBox控件是否可以从OnServerValidate事件中修改其属性?
谢谢, d
答案 0 :(得分:6)
我尝试了上面的答案,但由于我的TextBox位于ContentPlaceHolder的ListView中,所有这一切都失控了。我最终使用了这个应该适用于所有情况:
string textBoxName = ((CustomValidator)source).ControlToValidate;
var textBox = ((CustomValidator)source).Parent.FindControl(textBoxName) as TextBox;
答案 1 :(得分:4)
你能做这样的事吗?
protected void CustomValidator1_ServerValidate (object source, ServerValidateEventArgs args)
{
var validationControl = source as CustomValidator;
var textBox = FindControl(validationControl.ControlToValidate) as TextBox;
if (textBox != null)
{
// Do something
}
}
答案 2 :(得分:1)
获取价值:
string number = args.Value;