原創(chuàng)|其它|編輯:郝浩|2009-08-31 11:13:28.000|閱讀 892 次
概述:本文教你如何制作登陸窗口,如果你想運(yùn)行本章中使用的代碼,可以從 //appbox.codeplex.com/SourceControl/ListDownloadableCommits.aspx 下載全部源代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
界面效果
一步一步創(chuàng)建界面
1. 首先每個(gè)使用控件的頁(yè)面都需要引入ext:PageManager控件。
2. 頁(yè)面上放置一個(gè)沒(méi)有關(guān)閉按鈕的ext:Window,并且指定寬度為350px。
1.
<
ext:PageManager
ID
=
"PageManager1"
runat
=
"server"
>
2.
</
ext:PageManager
>
3.
<
ext:Window
ID
=
"Window1"
runat
=
"server"
IsModal
=
"true"
Popup
=
"true"
EnableClose
=
"false"
4.
Title
=
"系統(tǒng)登陸"
Width
=
"350px"
>
5.
</
ext:Window
>
3. 在ext:Window內(nèi)部放置一個(gè)ext:SimpleForm控件(ext:SimpleForm用來(lái)呈現(xiàn)那些只有一列的表單,如果需要更復(fù)雜的表單可以使用ext:From控件)。
01.
<
ext:Window
ID
=
"Window1"
runat
=
"server"
IsModal
=
"true"
Popup
=
"true"
EnableClose
=
"false"
02.
Title
=
"系統(tǒng)登陸"
Width
=
"350px"
>
03.
<
ext:SimpleForm
ID
=
"SimpleForm1"
runat
=
"server"
LabelWidth
=
"45px"
BodyPadding
=
"10px 20px"
04.
EnableBackgroundColor
=
"true"
ShowBorder
=
"false"
ShowHeader
=
"false"
>
05.
<
ext:TextBox
ID
=
"tbxUserName"
FocusOnPageLoad
=
"true"
runat
=
"server"
Label
=
"帳號(hào)"
Required
=
"true"
06.
ShowRedStar
=
"true"
Text
=
""
>
07.
</
ext:TextBox
>
08.
<
ext:TextBox
ID
=
"tbxPassword"
TextMode
=
"Password"
runat
=
"server"
Required
=
"true"
09.
ShowRedStar
=
"true"
Label
=
"密碼"
Text
=
""
>
10.
</
ext:TextBox
>
11.
<
ext:Button
ID
=
"btnSubmit"
Type
=
"Submit"
runat
=
"server"
ValidateForms
=
"SimpleForm1"
12.
OnClick
=
"btnSubmit_Click"
Text
=
"登陸"
>
13.
</
ext:Button
>
14.
</
ext:SimpleForm
>
15.
</
ext:Window
>
注意這里有幾個(gè)應(yīng)用技巧:
Asp.net表單身份驗(yàn)證
由于在中使用的Asp.net的表單身份驗(yàn)證,所以我們有必要來(lái)看一下Web.config配置文件:
在system.web配置節(jié)中:
1.
<
authentication
mode
=
"Forms"
>
2.
<
forms
name
=
".ASPXFORMSAUTH"
loginUrl
=
"~/default.aspx"
timeout
=
"120"
defaultUrl
=
"~/main.aspx"
protection
=
"All"
path
=
"/"
/>
3.
</
authentication
>
4.
<
authorization
>
5.
<
deny
users
=
"?"
/>
6.
</
authorization
>
同時(shí)由于Asp.net的表單身份驗(yàn)證在內(nèi)部使用Response.Redirect進(jìn)行頁(yè)面跳轉(zhuǎn)。為了使ExtAspNet兼容Response.Redirect,我們還必須在system.web下做如下配置:
1.
<
httpModules
>
2.
<
add
name
=
"ScriptModule"
type
=
"ExtAspNet.ScriptModule, ExtAspNet"
/>
3.
</
httpModules
>
具體原因可以參考這篇博客:
后臺(tái)登陸代碼
其中我們使用作為ORM的工具,使用作為日志記錄的工具,代碼很簡(jiǎn)單就不解釋了。
01.
protected
void
btnSubmit_Click(
object
sender, EventArgs e)
02.
{
03.
string
userName = tbxUserName.Text.Trim();
04.
string
password = tbxPassword.Text.Trim();
05.
XUser user =
new
Select().From<XUser>()
06.
.Where(XUser.NameColumn).IsEqualTo(userName)
07.
.And(XUser.EnabledColumn).IsEqualTo(
true
)
08.
.ExecuteSingle<XUser>();
09.
10.
if
(user !=
null
)
11.
{
12.
if
(PasswordUtil.ComparePasswords(user.Password, password))
13.
{
14.
// 登錄成功
15.
logger.Info(String.Format(
"登錄成功:用戶(hù)“{0}”"
, user.Name));
16.
FormsAuthentication.RedirectFromLoginPage(userName,
true
);
17.
return
;
18.
}
19.
else
20.
{
21.
logger.Warn(String.Format(
"登錄失敗:用戶(hù)“{0}”密碼錯(cuò)誤"
, userName));
22.
Alert.Show(
"密碼錯(cuò)誤!"
);
23.
return
;
24.
}
25.
}
26.
else
27.
{
28.
logger.Warn(String.Format(
"登錄失敗:用戶(hù)“{0}”不存在"
, userName));
29.
Alert.Show(
"用戶(hù)名不存在!"
);
30.
return
;
31.
}
32.
}
如果你想運(yùn)行本章中使用的代碼,可以從 下載全部源代碼。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:博客園