AjaxControlToolkit 实现类似动画效果
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Reg.aspx.cs" Inherits="Public_Login_Reg" Theme="Login" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!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>注册_<%=Config.GetWebTitle()%></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" id="SM1"></asp:ScriptManager>
<div class="txt">用户名</div>
<div class="btn"><asp:TextBox ID="txtUserName" runat="server" ValidationGroup="Reg"></asp:TextBox></div>
<div class="msg"><asp:Button ID="btnCheckUserName" runat="server" Text="检测是否可用" OnClick="btnCheck_Click"/></div>
<div id="up_container" style="margin:0;padding:0;text-align:center;width:100%">
<asp:UpdatePanel ID="CheckUserNameStatus" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Label id="lblCheckStatus" runat="server" ForeColor="white"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnCheckUserName" EventName="Click"></asp:AsyncPostBackTrigger>
</Triggers>
</asp:UpdatePanel>
</div>
<cc1:UpdatePanelAnimationExtender ID="upae" BehaviorID="animation" runat="server" TargetControlID="CheckUserNameStatus">
<Animations>
<OnUpdating>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden" />
<Parallel duration=".25" Fps="30">
<FadeOut AnimationTarget="up_container" minimumOpacity=".2" />
<Resize Height="0" />
<Color AnimationTarget="up_container" PropertyKey="backgroundColor" EndValue="#FF0000" StartValue="#FF6600" /> </Parallel>
</Sequence>
</OnUpdating>
<OnUpdated>
<Sequence>
<Parallel duration=".25" Fps="30">
<FadeIn AnimationTarget="up_container" minimumOpacity=".2" />
<Resize Height="15" />
<Color AnimationTarget="up_container" PropertyKey="backgroundColor" StartValue="#FF0000" EndValue="#FF6600" /> </Parallel>
</Sequence>
</OnUpdated>
</Animations>
</cc1:UpdatePanelAnimationExtender>
</form>
</body>
</html>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!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>注册_<%=Config.GetWebTitle()%></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" id="SM1"></asp:ScriptManager>
<div class="txt">用户名</div>
<div class="btn"><asp:TextBox ID="txtUserName" runat="server" ValidationGroup="Reg"></asp:TextBox></div>
<div class="msg"><asp:Button ID="btnCheckUserName" runat="server" Text="检测是否可用" OnClick="btnCheck_Click"/></div>
<div id="up_container" style="margin:0;padding:0;text-align:center;width:100%">
<asp:UpdatePanel ID="CheckUserNameStatus" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:Label id="lblCheckStatus" runat="server" ForeColor="white"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnCheckUserName" EventName="Click"></asp:AsyncPostBackTrigger>
</Triggers>
</asp:UpdatePanel>
</div>
<cc1:UpdatePanelAnimationExtender ID="upae" BehaviorID="animation" runat="server" TargetControlID="CheckUserNameStatus">
<Animations>
<OnUpdating>
<Sequence>
<StyleAction Attribute="overflow" Value="hidden" />
<Parallel duration=".25" Fps="30">
<FadeOut AnimationTarget="up_container" minimumOpacity=".2" />
<Resize Height="0" />
<Color AnimationTarget="up_container" PropertyKey="backgroundColor" EndValue="#FF0000" StartValue="#FF6600" /> </Parallel>
</Sequence>
</OnUpdating>
<OnUpdated>
<Sequence>
<Parallel duration=".25" Fps="30">
<FadeIn AnimationTarget="up_container" minimumOpacity=".2" />
<Resize Height="15" />
<Color AnimationTarget="up_container" PropertyKey="backgroundColor" StartValue="#FF0000" EndValue="#FF6600" /> </Parallel>
</Sequence>
</OnUpdated>
</Animations>
</cc1:UpdatePanelAnimationExtender>
</form>
</body>
</html>
reg.aspx.cs文件
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Public_Login_Reg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnCheck_Click(object sender, EventArgs e)
{
if (txtUserName.Text.Trim() == "")
{
this.lblCheckStatus.Text = "请先输入用户名!";
return;
}
string SQL = "Select UserID,loweredUserName From vw_aspnet_Users Where LoweredUserName='" + txtUserName.Text.Trim().ToLower() + "' And ApplicationID='" + Website.GetApplicationID() + "'";
if (Database.ExistData(SQL))
{
this.lblCheckStatus.Text = "用户名【" + txtUserName.Text.Trim() + "】已在使用中,请另换一个登录用户名!";
}
else
{
this.lblCheckStatus.Text = "用户名【" + txtUserName.Text.Trim() + "】可继续正常注册!";
}
}
}
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Public_Login_Reg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnCheck_Click(object sender, EventArgs e)
{
if (txtUserName.Text.Trim() == "")
{
this.lblCheckStatus.Text = "请先输入用户名!";
return;
}
string SQL = "Select UserID,loweredUserName From vw_aspnet_Users Where LoweredUserName='" + txtUserName.Text.Trim().ToLower() + "' And ApplicationID='" + Website.GetApplicationID() + "'";
if (Database.ExistData(SQL))
{
this.lblCheckStatus.Text = "用户名【" + txtUserName.Text.Trim() + "】已在使用中,请另换一个登录用户名!";
}
else
{
this.lblCheckStatus.Text = "用户名【" + txtUserName.Text.Trim() + "】可继续正常注册!";
}
}
}

浙公网安备 33010602011771号