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