小智 5
最简单的解决方案是将Validators添加到文本框(即RequiredFieldValidator).它们允许您指定自定义错误消息,只需在后面的代码中调用Page.Validate()即可进行检查.
如果这不是一个选项,ASP.Net控件嵌套在一个层次结构中,因此您需要使用一些递归来获取页面上的每个文本框.以下函数代码循环遍历页面上的所有控件集合,并在文本框为空时附加错误消息.
protected void buttonClick(object sender, EventArgs e)
{
List<String> errors = new List<String>();
ValidateTextboxes(errors, this.Controls);
if (errors.Count > 0)
{
// Validation failed
}
}
protected void ValidateTextboxes(List<String> errors, ControlCollection controls)
{
foreach (Control control in controls)
{
if (control is TextBox)
{
// Validate
TextBox tb = control as TextBox;
if (tb.Text.Length == 0)
errors.Add(tb.ID + ": field is required:");
}
if (control.Controls.Count > 0)
ValidateTextboxes(errors, control.Controls);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2486 次 |
| 最近记录: |