您的位置:首页 > 其它

创建自定义验证控件

2008-03-06 10:50 369 查看
using System;

using System.Web.UI;

using System.Web.UI.WebControls;

public class AjaxValidator:BaseValidator,ICallbackEventHandler

// AJAX服务器回调

function AjaxValidatorEvaluateIsValid(val)

// 当结果从服务端返回的时候调用

function AjaxValidatorResult(returnValue, context)

// 出错时调用

function AjaxValidatorError(message)

<!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>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Label

id="lblUserName"

Text="用户名:"

AssociatedControlID="txtUserName"

Runat="server" />

<asp:TextBox

id="txtUserName"

Runat="server" />

<custom:AjaxValidator

id="AjaxValidator1"

ControlToValidate="txtUserName"

Text="用户已存在!"

OnServerValidate="AjaxValidator1_ServerValidate"

Runat="server" /><br />

<asp:Button

id="btnSubmit"

Text="Submit"

Runat="server" OnClick="btnSubmit_Click" />

</div>

</form>

</body>

</html>
ShowAjaxValidator.aspx.cs:
protected void btnSubmit_Click(object sender, EventArgs e)

protected void AjaxValidator1_ServerValidate(object source, ServerValidateEventArgs args)

private bool UserNameExists(string userName)

{

SqlConnection con = new SqlConnection("server=finetdb2000;database=finetdb;uid=finetdb;pwd=finetdb;");

SqlCommand cmd = new SqlCommand("select count(username) from users where username=@username", con);

cmd.Parameters.Add("@username", SqlDbType.VarChar, 20).Value = userName;

bool result = false;

using (con)

{

con.Open();

int count = (int)cmd.ExecuteScalar();

if (count <= 0)

{

return true;

}

}

return result;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: