就是托控件,没啥好说的。。。
Response :响应 从服务端--客户端
Write("字符串"):向客户端页面输出一段文字
Redirect("URL"):重定向
End():结束向客户端的输出
Request:请求 从客户端--服务端
Request["名"]:获取客户端用post或get方式传递过来的数据。
Request.Form["名"]:获取客户端用post方式传递过来的数据。
Request.QueryString["名"]:获取客户端用get方式传递过来的数据。
Session :会话——用来保存访问者状态。 一个会话中保存状态,这个状态只在这个会话中可用。
作用:同一个浏览器打开该网页子页面,都会加载当前登录的用户信息。而换个浏览器,或者从新打开浏览器,又会重新登录。
HTTP :无状态协议
简单登录 eg:
新建一个web页面,设计为如下:
双击“登录”按钮编写代码:
1 protected void Button1_Click(object sender, EventArgs e) 2 { 3 MyDBDataContext context = new MyDBDataContext(); 4 var q = context.Login.Where(p=>p.username==TextBox1.Text&p.pwd==TextBox2.Text);//核对用户名密码是否正确 5 if (q.Count() > 0) 6 { 7 Session["uid"] = TextBox1.Text;//Session会话——保存访问者状态 8 Response.Redirect("Main.aspx?id="+TextBox1.Text);//重定向到登录界面 9 } 10 else 11 { 12 //Response.Write("用户名或密码错误<a href='Default.aspx'>返回</a>"); 13 //Response.End(); 14 Label1.Visible = true;//用户名密码错误显示出来 15 } 16 }
新建一个Main主web界面:
1 <body> 2 <form id="form1" runat="server"> 3 <div> 4 5 欢迎你,<asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Underline="True" ForeColor="#CC0000" Text="Label"></asp:Label> 6 <a href="Main.aspx" target="_blank">新页面</a> 7 8 </div> 9 </form> 10 </body>
1 protected void Page_Load(object sender, EventArgs e) 2 { 3 //Label1.Text = Request["id"].ToString(); 4 if (Session["uid"] == null) 5 { 6 Response.Redirect("Default.aspx");//如果跳过登录界面,直接访问主界面,则跳回登录界面 7 } 8 else 9 { 10 Label1.Text = Session["uid"].ToString();//登录成功,显示用户名 11 } 12 }
运行登录后的界面: