フォーム検証に関するオンライン記事は何百もありますが、私は「少し」学ぶのに 1 日半かかりました。
私のような初心者にとって役立つことを願ってコードを共有します。また、専門家が私にヒントを与えてくれることを願っています。
----------------------- --- --------------------------------------------------- --- ----
ステップ 1: 新しいデータベースを作成します (ライブラリ: MyForms、テーブル: ユーザー、フィールド: ID、userName、userPwd)。
ステップ 2: 新しい Web サイトを作成する web.config ファイルのコード全体は次のとおりです。
web.config のすべてのコード
<?xml バージョン="1.0"?>
<構成>
<appSettings/>
<接続文字列/>
<システム.ウェブ>
<コンパイルデバッグ="true"/>
<sessionState cookieless="AutoDetect"/>
<!--ブラウザで Cookie が無効になっている場合の解決策 -->
<認証モード="フォーム">
<forms name="CookieName" loginUrl="login.aspx" protection="All"></forms>
<!--loginUrl はログイン ページの URL です。認証 Cookie がない場合、クライアントはこの URL にリダイレクトされます。
</認証>
<認可>
<拒否ユーザー = "?"/>
</認可>
<customErrors mode="On"defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</カスタムエラー>
</system.web>
</configuration>
ステップ 3:login.aspx ページを追加し、2 つの TextBox、1 つの Button、1 つの CheckBox をドラッグします。
そして、CheckBox の text 属性を「Cookie を保存するかどうか」に設定します。
ステップ 4:login.aspx の隠しコードは次のとおりです。login
すべての隠しコード
システムを使用する;
System.Data を使用します。
System.Configuration を使用します。
System.Web を使用します。
System.Web.Security を使用します。
System.Web.UI を使用します。
System.Web.UI.WebControls を使用します。
System.Web.UI.WebControls.WebParts を使用します。
System.Web.UI.HtmlControls を使用します。
using System.Data.SqlClient; // 名前空間の
パブリック部分クラスをインポートします _Default: System.Web.UI.Page;
{
protected void Page_Load(オブジェクト送信者, EventArgs e)
{
}
protected void Button1_Click(オブジェクト送信者、EventArgs e)
{
文字列 userName = TextBox1.Text.Trim();
文字列 userPwd = TextBox2.Text.Trim();
SqlConnection con = new SqlConnection("Server=.;Database=MyForms;User ID=sa;Password=123456");
con.Open();
SqlCommand cmd = new SqlCommand("select count(*) from users where userName='" + userName + "' and userPwd='" + userPwd + "'", con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (カウント > 0)
{
System.Web.Security.FormsAuthentication.SetAuthCookie(this.TextBox1.Text, this.CheckBox1.Checked);
Response.Redirect("Default.aspx");
//上記の 2 行は、次の行に置き換えることもできます。検証に合格すると、Response.Redirect("") を必要とせずに、要求されたページにリダイレクトされます。
//System.Web.Security.FormsAuthentication.RedirectFromLoginPage(this.TextBox1.Text, false);
}
それ以外
{
Response.Write("ユーザーは不正です");
}
}
5
: ボタンを Default.aspx にドラッグし、そのテキスト属性を「ログアウト」に設定します。そのイベント コードは次のとおりです。
ボタン イベント コード
protected void Button1_Click(オブジェクト送信者、EventArgs e)
{
System.Web.Security.FormsAuthentication.SignOut();
http://www.cnblogs.com/yoyebina/archive/2006/12/03/580121.html