Ajax中,ModalPopup与UpdatePanel结合,实现局部刷新的登录效果 (调用cs服务)
最近研究Ajax,突然想起有些网站有局部刷新的登陆效果,而Ajax提供了ModalPopup,刚好有类似效果。 因为登陆要调用后台cs页面中的部分功能,所以,结合UpdatePanel实现了这一功能。不知道谁还有更好的实现方式,欢迎共享。 我的源码:SupLogin.rar
1
<!-- the update controls -->
2
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
3
<ContentTemplate>
4
Welcome back:
5
<asp:Label runat="server" ID="lbWelcome" Text="Label" CssClass="RedAlert"></asp:Label>
6
</ContentTemplate>
7
<Triggers>
8
<asp:AsyncPostBackTrigger ControlID="btnOK" EventName="Click" />
9
<asp:AsyncPostBackTrigger ControlID="btnLogout" EventName="Click" />
10
</Triggers>
11
</asp:UpdatePanel>
12
13
<%-- The login panel--%>
14
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none"
15
Width="200px">
16
User:
17
<asp:TextBox ID="txtAlias" runat="server" BackColor="transparent" Text="Jack"></asp:TextBox><br />
18
Pwd:
19
<asp:TextBox ID="TextBox1" runat="server" BackColor="transparent"></asp:TextBox><br />
20
<hr />
21
<asp:Button ID="btnOK" runat="server" Text="OK" Width="80px" OnClick="btnOK_Click" ValidationGroup="Login" />
22
<asp:Button ID="btnCancel" runat="server" Text="Cancel" Width="80px" CausesValidation="False" />
23
</asp:Panel>
24
<br />
25
26
<%--login and logout panel--%>
27
<asp:Button ID="btnLogin" runat="server" Text="login" /><asp:Button ID="btnLogout"
28
runat="server" Text="Logout" OnClick="btnLogout_Click" />
29
30
<AjaxControl:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
31
TargetControlID="btnLogin"
32
PopupControlID="Panel1"
33
CancelControlID="btnCancel"
34
BackgroundCssClass="modalBackground">
35
</AjaxControl:ModalPopupExtender>
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
CS文件中主要代码:
1
protected void Page_Load(object sender, EventArgs e)
2
{
3
lbWelcome.Text = UserName;
4
}
5
protected void btnOK_Click(object sender, EventArgs e)
6
{
7
this.UserName = txtAlias.Text;
8
lbWelcome.Text = this.UserName;
9
this.ModalPopupExtender1.Hide();
10
}
11
private string UserName
12
{
13
get
14
{
15
if (Session["ModalPopup_Users"] == null || string.IsNullOrEmpty(Session["ModalPopup_Users"].ToString()))
16
return "Anonymous";
17
else
18
return Session["ModalPopup_Users"].ToString();
19
}
20
set
21
{
22
Session["ModalPopup_Users"] = value;
23
}
24
}
25
protected void btnLogout_Click(object sender, EventArgs e)
26
{
27
UserName = "Anonymous";
28
lbWelcome.Text = this.UserName;
29
}
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](/Images/OutliningIndicators/InBlock.gif)
4
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](/Images/OutliningIndicators/InBlock.gif)
8
![](/Images/OutliningIndicators/InBlock.gif)
9
![](/Images/OutliningIndicators/InBlock.gif)
10
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
13
![](/Images/OutliningIndicators/InBlock.gif)
14
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
15
![](/Images/OutliningIndicators/InBlock.gif)
16
![](/Images/OutliningIndicators/InBlock.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)