asp.net访问sqlserver获取数据、IsPostBack属性和VS可视化调试的概念
新建一個asp.net網站;sqlserver中有如下一張表;
新建一個頁面, demo1.aspx;在頁面上添加一個GridView控件;
demo1.aspx.cs代碼;
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient;public partial class demo1 : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e){//IsPostBack只有在第一次打開的時候是false,其它時候都是trueif (!IsPostBack){databind();}}void databind(){SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog=hatcher;User Id=sa;Password=kc123ab;");SqlCommand MyCommand = new SqlCommand("SELECT * FROM advpeoples", conn);SqlDataAdapter SelectAdapter = new SqlDataAdapter();SelectAdapter.SelectCommand = MyCommand;DataSet MyDataSet = new DataSet();conn.Open();SelectAdapter.SelectCommand.ExecuteNonQuery();SelectAdapter.Fill(MyDataSet);GridView1.DataSource = MyDataSet.Tables[0];GridView1.DataBind();conn.Close();} }右擊demo1.aspx,設為起始頁;然后點 綠三角按鈕,啟動調試;?
運行結果如下;
需要如下,
? ? ? ? GridView1.DataSource = MyDataSet.Tables[0];
? ? ? ? GridView1.DataBind();
加DataBind(),GridView才顯示數據;winform則不用加;
當頁面第一次加載時,執行databind();以后則不需;
ASP.NET中IsPostBack
Page.IsPostBack是一個標志:當前請求是否第一次打開。?
調用方法為:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack;
1)當通過IE的地址欄等方式打開一個URL時是第一次打開, 當通過頁面的提交按鈕或能引起提交的按鈕以POST的方式提交的服務器時,頁面就不再是第一次打開了。(每點擊一次按鈕,都是一次加載)
2)IsPostBack只有在第一次打開的時候是false,其它時候都是true
3).Net判斷一個Page是否第一次打開的方法:Request.Form.Count>0
4)每次頁面Load的時候,根據需要把每次都要加載的代碼放在IsPostBack中,只需要加載一次的代碼放在if(!IsPostBack)中。
5)每次用戶回傳服務器任何信息的時候,都會引發isPostBack屬性用來判斷此用戶是否曾經做過登陸或者其他事件
這涉及到aspx的頁面回傳機制的基礎知識 postback是回傳 即頁面在首次加載后向服務器提交數據,然后服務器把處理好的數據傳遞到客戶端并顯示出來,就叫postback, ispostback只是一個屬性,即判斷頁面是否是回傳,if(!Ispostback)就表示頁面是首次加載,這是很常用的一個判斷方式.一個頁面只能加載一次,但可以在加載后反復postback.
?
在32行下一個斷點;啟動調試;中斷以后,把鼠標移到MyDataSet上,這是一個DataSet類型的變量;看下圖,會顯示一個放大鏡;這個放大鏡是VS的可視化調試;
點擊放大鏡,會彈出表格顯示MyDataSet中表格的數據;這是在調試時;
比如,頁面沒有顯示該顯示的數據;那么中斷以后,查看DataSet中的數據;如果DataSet中有數據,則說明可能是網頁顯示代碼的問題;如果DataSet中沒有數據,則說明可能前面訪問數據庫的代碼可能有問題;
這是VS可視化調試的方便之處;凡調試時出現放大鏡的,都可以可視化查看;我在C#和VC++中均使用過此可視化調試,可以想象,在VS中支持的所有語言,凡調試時出現放大鏡,均可可視化查看;
總結
以上是生活随笔為你收集整理的asp.net访问sqlserver获取数据、IsPostBack属性和VS可视化调试的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习构建WDF驱动程序 - 初步了解SO
- 下一篇: WPF基础入门 - 1