Если вы динамически генерируете текстовые поля и раскрывающиеся списки, вы, вероятно, захотите также динамически генерировать элементы управления проверкой, но если все раскрывающиеся списки и текстовые поля являются статическими, вы можете использовать следующее:
ИспользоватьCustomValidator Web Control, написать метод javascript на стороне клиента, который проверяет все свойства раскрывающихся списков и текстовых полей, настраивает функцию ClientValidationFunction веб-элемента управления с помощью функции и устанавливает EnableClientScript = true.Кроме того, из-за того, что не все пользователи имеют включенный JavaScript, плюс, чтобы быть уверенным, что это лучший метод, всегда также создавайте функцию проверки на стороне сервера и вызывайте Page.IsValid () для действия отправки.
.aspx Пример кода
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs"
Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
function ValidateMe(sender, args) {
var txt = document.getElementById("txt");
if (txt.value != "")
args.IsValid = true;
else
args.IsValid = false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox id="txt" runat="server" />
<asp:CustomValidator ClientValidationFunction="ValidateMe" ID="custval"
runat="server" ErrorMessage="Fail" onservervalidate="custval_ServerValidate" />
<asp:Button ID="btn" runat="server" Text="push" onclick="btn_Click1" />
</form>
</body>
</html>
c # Код за примером кода
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;
using System.Threading;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
protected void btn_Click1(object sender, EventArgs e)
{
if (Page.IsValid)
{
btn.Text = "PASS";
}
else
{
btn.Text = "FAIL";
}
}
protected void custval_ServerValidate(object source, ServerValidateEventArgs args)
{
if (txt.Text != "")
custval.IsValid = true;
else
custval.IsValid = false;
}
}