下面是一个登陆的界面:

我们的需求是:

       第一次进入登陆界面时,用户名和密码应该为空,所以我们应该在Page_Load中将存放用户名和密码的两个文本框的内容清空。然后当我们单击登陆按钮时,将用户名和密码提交到服务器。

privatevoid Page_Load(object sender, EventArgs e)
{
{
this.txtUserName.Text = "";
this.txtUserPwd.Text = "";
}
}
privatevoid btn_Login(object sender, EventArgs e)
{
string userName = Request.Form["userName"].ToString();
string userPwd = Request.Form.Get("userPwd").ToString();
SqlConnection con = new SqlConnection("server=.;database=login;uid=sa;pwd=123456654321");
SqlCommand cmd = new SqlCommand("selectcount(*) from login where userName='" + userName + "' anduserPwd='" + userPwd + "'", con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{
Response.Redirect("main.aspx"); }
}
 

结果:

       当我们进入登陆界面时,用户名和密码的内容的确清空,但是当我们确不能登陆成功。

原因:

        当执行btn_Login事件时同时会执行Page_Load事件,并且Page_Load的执行顺序先于btn_Login的执行顺序。所以当我们单击登陆按钮时,它会先执行Page_Load事件,文本框的内容就会清空,在btn_Login事件中获取到的内容不是我们在界面输入的值,而是空值,所以,不能登陆。

Page_Load事件的特性:

       无论页面的其它任何事件执行时都会先执行Page_Load事件。

因此,当加载页面并对控件的更改属性进行处理之前,应该先在Page_Load事件中检查该页面是否为被传递回的页面,即要进行IsPostBack的属性的判断。

      Ispostback:就是判断页面是首次加载的,还是数据回发(有get或者post请求过的)后的页面。对于首次加载的页面,IsPostBack的值为false,其它时候加载的页面都是回发页面,IsPostBack的值为true。

privatevoid Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack )
{
this.txtUserName.Text = "";
this.txtUserPwd.Text = "";
}
}
 

这样,每次进行一下判断,可以给我们省去好多麻烦。 --------------------- 本文来自 九期赵欢欢 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhaohuanhuanjiuqi/article/details/18718035?utm_source=copy

Page_Load事件与IsPostBack属性的更多相关文章

  1. ASP.NET中IsPostBack属性研究

    通过页面的IsPostback属性,可以检查 .aspx 页是否为传递回服务器的页面:当加载页面并对控件的更改属性处理之前,用户可以在page_Load事件中检查该页面是否被传递回的页面. 一般是在p ...

  2. ASP.NET(一):Reques对象和Response对象的区别,以及IsPostBack属性的用法

    导读:在ASP.NET的学习中,初步认识了其6大对象(严格说来只能算是属性):Request,Response,Application,Session,Server,OjectContext.这些对象 ...

  3. 母版页的 page_load事件执行两次

    定义了一个母版页 Admin.master  部分代码如下 <body onload="LoadHight()"> <div> <!--公共的头部开始 ...

  4. Page_Load 事件

    Page_Load 事件是众多 ASP.NET 可理解的事件之一.Page_Load 事件会在页面加载时被触发,然后 ASP.NET 会自动调用子例程 Page_Load<%@ Page Lan ...

  5. 关于Page_Load事件发生情况

    Page_Load事件会在第一次加载页面时发生和将该页面回发到服务器时发生 第一种情况Page.IsPostBack返回false,第二种返回True. 若在Page_Load事件中有一些对控件的操作 ...

  6. 在TreeView 控件上,如果双击任何一个节点的checkbox 只会收到一次After_Check事件 但是check属性变化两次(从false到true 再从true到false),请问该如何解决,谢谢!

    在TreeView 控件上,如果双击任何一个节点的checkbox 只会收到一次After_Check事件 但是check属性变化两次(从false到true 再从true到false),请问该如何解 ...

  7. 010-判断是否回传IsPostBack属性

    属性IsPostBack:判断是否回传 如果是第一次请求,则返回false 如果是回传请求,则返回true->说明:只有使用服务器端表单才可以正常使用IsPostBack->使用情境:当在 ...

  8. jQuery事件对象的属性

    注:摘自<锋利的jQuery(第二版)> JQuery在遵循W3C规范的情况下,对事件对象的常用属性进行了封装,使得事件处理在各大浏览器下都可以正常运行而不需要进行浏览器类型判断. 1. ...

  9. asp.net Page_Load事件加载两次

    Page_Load 即使加上 if(!IsPostBack){ ……} 还时走了2次 这时候 或者看看你的程序和脚本,是不是刷新页面了 或者页面的样式有错误的地方  例如: background:ur ...

随机推荐

  1. jQuery绿色下拉网站导航

    jQuery,下拉菜单,网站导航,绿色导航,菜单导航,jQuery绿色下拉网站导航是一款基于jquery实现的鼠标滑过下拉显示二级菜单. jquery特效代码:http://www.huiyi8.co ...

  2. 学习HTML5

    CSS,层叠样式表,能为网页增添样式的电脑语言. UL属于无序列表 OL属于有序列表 DL属于自定义列表.

  3. js 跨域复习 window.name | window.domain | iframe | Jsonp

    引起跨域的原因: 浏览器的同源策略,但是当你要发送请求的时候,出于安全性问题,浏览器有严格的要求,必须协议,域名,端口都相同,这个就是同源策略. 影响:a通过js脚本向b发送ajax请求,不同源就会报 ...

  4. 循环递归+返回值(TreeView示例)

    示例:获取TreeView的所有Node,保存到List<TreeNode>,封装到通用工具类: 方法一:使用static方法.属性---调用前清空static类型的List public ...

  5. poj 1080 Human Gene Functions(lcs,较难)

    Human Gene Functions Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19573   Accepted:  ...

  6. 一个可以拖拽的div

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. (转)JSP九大内置对象

    原文出处:http://www.importnew.com/19128.html 虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对 ...

  8. css绝对对齐

    方法1:使用text-align:justify 能够兼容所有的浏览器,但是一定要在模块和模块或者字之间存在空格,换行符或者制表符,这样才能起作用 ;;} /* 说明: 1.IE中要实现块内单行两端对 ...

  9. L104

    marsh:It was like my own marsh country, flat and monotonous.The government will take more measures t ...

  10. Winform开发入门集中培训系列文章

    最近有个培训,写PPT不如写博客了,共享是程序猿的职业情操吧,因此,本人准备写一个Winform开发的系列文章,对于初级开发者来说,应该比较有用,写作当中不免错误或不成熟的地方,看到的朋友请留言指出, ...