原創|其它|編輯:郝浩|2009-08-31 11:13:28.000|閱讀 892 次
概述:本文教你如何制作登陸窗口,如果你想運行本章中使用的代碼,可以從 //appbox.codeplex.com/SourceControl/ListDownloadableCommits.aspx 下載全部源代碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
界面效果
一步一步創建界面
1. 首先每個使用控件的頁面都需要引入ext:PageManager控件。
2. 頁面上放置一個沒有關閉按鈕的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
=
"系統登陸"
Width
=
"350px"
>
5.
</
ext:Window
>
3. 在ext:Window內部放置一個ext:SimpleForm控件(ext:SimpleForm用來呈現那些只有一列的表單,如果需要更復雜的表單可以使用ext:From控件)。
01.
<
ext:Window
ID
=
"Window1"
runat
=
"server"
IsModal
=
"true"
Popup
=
"true"
EnableClose
=
"false"
02.
Title
=
"系統登陸"
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
=
"帳號"
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
>
注意這里有幾個應用技巧:
Asp.net表單身份驗證
由于在中使用的Asp.net的表單身份驗證,所以我們有必要來看一下Web.config配置文件:
在system.web配置節中:
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
>
同時由于Asp.net的表單身份驗證在內部使用Response.Redirect進行頁面跳轉。為了使ExtAspNet兼容Response.Redirect,我們還必須在system.web下做如下配置:
1.
<
httpModules
>
2.
<
add
name
=
"ScriptModule"
type
=
"ExtAspNet.ScriptModule, ExtAspNet"
/>
3.
</
httpModules
>
具體原因可以參考這篇博客:
后臺登陸代碼
其中我們使用作為ORM的工具,使用作為日志記錄的工具,代碼很簡單就不解釋了。
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(
"登錄成功:用戶“{0}”"
, user.Name));
16.
FormsAuthentication.RedirectFromLoginPage(userName,
true
);
17.
return
;
18.
}
19.
else
20.
{
21.
logger.Warn(String.Format(
"登錄失敗:用戶“{0}”密碼錯誤"
, userName));
22.
Alert.Show(
"密碼錯誤!"
);
23.
return
;
24.
}
25.
}
26.
else
27.
{
28.
logger.Warn(String.Format(
"登錄失敗:用戶“{0}”不存在"
, userName));
29.
Alert.Show(
"用戶名不存在!"
);
30.
return
;
31.
}
32.
}
如果你想運行本章中使用的代碼,可以從 下載全部源代碼。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園