---------------------------------学霸,学神,大牛,hacker请绕道de分割线-----------------------------------------------------------------------
嗯,这个可能比较简单,原谅我这个学弱第一次做.net还查了好久的资料,所以贴出来,避免大家再走弯路了。
因为html的button按钮不是服务器端控件,所以得做如下改变才能跳转到后台。
<button type="submit" runat="server" onserverclick="Login" >登录</button>
前台 login.aspx的代码
1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="admin_index" %> <!-- 这一行记得要变--> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 <html lang="en" class="no-js"> 5 6 <head> 7 8 <meta charset="utf-8"> 9 <title>homepage 后台登录</title> 10 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 11 <meta name="description" content=""> 12 <meta name="author" content=""> 13 14 <!-- CSS --> 15 <link rel="stylesheet" href="assets/css/reset.css"> 16 <link rel="stylesheet" href="assets/css/supersized.css"> 17 <link rel="stylesheet" href="assets/css/style.css"> 18 19 <!-- HTML5 shim, for IE6-8 support of HTML5 elements --> 20 <!--[if lt IE 9]> 21 <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> 22 <![endif]--> 23 24 </head> 25 26 <body> 27 28 <div class="page-container"> 29 <h1>教师主页后台登录</h1> 30 <form id="form" runat="server" method="post"> 31 <input type="text" name="username" placeholder="用户名"/> 32 <input type="password" name="password" placeholder="密码"/> 33 <button type="submit" runat="server" onserverclick="Login" >登录</button> <!-- --> 34 <!-- 35 <asp:Button ID="Button" runat="server" Text="登 录" OnClick="Login" /> 36 //--> 37 <div class="error"><span>+</span></div> 38 </form> 39 40 </div> 41 42 <!-- Javascript --> 43 <script src="assets/js/jquery-1.8.2.min.js"></script> 44 <script src="assets/js/supersized.3.2.7.min.js"></script> 45 <script src="assets/js/supersized-init.js"></script> 46 <script src="assets/js/scripts.js"></script> 47 48 </body> 49 50 </html>
前台做好后,就是从后台去html标签的值了,用Request.Form["username"]根据其name属性去取值。然后如果用户名密码正确则跳转页面并在session中放入一个值,若不正确,弹出提示。
后台login.aspx.cs代码
1 using System; 2 using System.Collections.Generic; 3 using System.Web; 4 using System.Web.Security; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 public partial class admin_index : System.Web.UI.Page 9 { 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 13 } 14 protected void Login(object sender, EventArgs e) 15 { 16 if (Request.Form["username"] == "123456" && Request.Form["password"] == "123456") 17 { 18 19 // FormsAuthentication.RedirectFromLoginPage(user, true);//使用.net的Security机制 20 Session["login"] = "OK"; //随意在session中放入一个值 21 Response.Redirect("~/admin/Paper.aspx"); 22 23 } 24 else 25 { 26 Response.Write("<script>alert(‘请输入正确的用户和密码!‘);</script>"); 27 } 28 29 30 } 31 }
下来就做后台验证,就是如果没有登录就不能做相关的操作。
后台Honor.asp.cs代码(登录后随意的一个页面的后台)
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 public partial class Honor : System.Web.UI.Page 9 { 10 protected void Page_Load(object sender, EventArgs e) 11 { 12 if (Session["login"] == null || Session["login"].ToString() == "" && Session["login"].ToString() != "OK") 13 { 14 15 Response.Write("<script>alert(‘没有登录,请登录‘);window.top.location.href=‘/Login.aspx‘;</script>"); 16 17 18 } 19 20 } 21 }
上面通过对session中值的判断来判断用户是否登录。
这个验证方式比较简单,本来楼主想使用.net的Security机制,可是不会,就只好用这个了,所以有会的同学可以教我一下嘛哈哈!
原文:http://www.cnblogs.com/houqi/p/5968000.html