熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

從零開始學ASP.NET(基礎篇 連載三)

2013-11-13 12:15:51  來源: .NET編程 

第三天

學習目的
掌握下拉列表框的用法並理解AutoPostBack屬性
理解IsPoskBack及用法
初識DataTable的增加列與下拉列表框綁定的方法

今天的內容稍多些而且涉及一些比較常用的如IsPostBack及DataTable的基本用法

知識點
IsPostBack在頁面onLoad之間是false值而當從服務器回傳後該值變為true當頁面中的Button或ImageButton等觸發事件都會把表單回傳到服務器而返回時又會引發onLoad事件為了節省服務器資源有些加載中需進行一次而不需要在回傳後多次發生可以用!IsPoskBack來作為條件那麼頁面第一次加載後以後就不會發生該屬性可以幫助你提高程序的性能
DataTable即數據表Net 程序中最常用的類特別是數據庫開發中沒有該類的程序是不可想象的

先做個小程序來練練手很簡單就一個下拉菜單取名dlstWeb在屬性的Itmes選項中打開以下對話框添加各項

ASPX中的代碼為
< asp:DropDownList id=dlstWeb style=ZINDEX: ; LEFT: px;POSITION: absolute; TOP: px runat=server Width=px AutoPostBack=True>
    <asp:ListItem value=http://wwwsinacomcn>新浪 </asp:ListItem>
    <asp:ListItem value=http://wwwsohucom>搜狐</asp:ListItem>
    <asp:ListItem value=http://wwwcom>網易</asp:ListItem>
</asp:DropDownList>

在下拉框的SelectedIndexChanged事件中的加入代碼
private void dlstWeb_SelectedIndexChanged(object sender SystemEventArgs e)
{
    ResponseWrite(<script language=javascript>windowopen( +dlstWebSelectedvalue + );</script>);
}

按F運行可是我們發現這下拉框選擇時什麼事也沒發生原來原因是出在下拉框的AutoPostBack屬性上把它設為true後再試試一切OK了
下面我們增加些難度下拉框中的內容很多情況下不是事先固定的而是要動態添加這裡設計是用一數據表DataTable與之聯系起來

另建一文件按上添加一下拉框取名dlstWeb先設AutoPostPack為false否則在剛啟動而面就觸發SelectedIndexChanged事件彈出窗口就亂飛了
在onLoad事件中添加代碼注意DataTable用法及IsPoskBack
DataTable屬於SystemData命名空間所以如果頁面沒預添加可以自行增加這一行

private void Page_Load(object sender SystemEventArgs e)
{
    // 用IsPostBack判斷只在沒有回傳時才初始化
    // 這樣可以防止每次刷新或回傳時都執行一次以下代碼
    // 可以節省服務器的資源了
    if (!IsPostBack)
    {
        DataTable dt = new DataTable();
        DataRow dr;

        // 在表中增加字段
        dtColumnsAdd(WebName typeof(string));
        dtColumnsAdd(WebUrl typeof(string));

        // 表中增加行
        dr = dtNewRow();
        dr[WebName] = 新浪;
        dr[WebUrl] = http://wwwsinacomcn;
        dtRowsAdd(dr);

        dr = dtNewRow();
        dr[WebName] = 網易;
        dr[WebUrl] = http://wwwcom;
        dtRowsAdd(dr);

        dr = dtNewRow();
        dr[WebName] = 搜狐;
        dr[WebUrl] = http://wwwsohucom;
        dtRowsAdd(dr);

        // 把表與下拉菜單綁定數據
        dlstWebDataSource = dt;
        dlstWebDataTextField = WebName;
        dlstWebDatavalueField = WebUrl;
        dlstWebDataBind();

        // 開始時就把下拉菜單的AutoPostBack設為false
        // 防止一開始就亂跳出網頁來
        dlstWebAutoPostBack = true;
    }
}

下面的事件與前面一模一樣了
private void dlstWeb_SelectedIndexChanged(object sender SystemEventArgs e)
{
    ResponseWrite(<script language=javascript>windowopen( +dlstWebSelectedvalue + );</script>);
}

小結今天的一些知識非常重要為了理解程序的難度並不高但這是以後程序設計的基礎所以這些你一定要掌握
VBNET增加字段代碼稍有不同如下
// 在表中增加字段
dtColumnsAdd(WebName GetType(String))
dtColumnsAdd(WebUrl GetType(String))

其它都差不多了

From:http://tw.wingwit.com/Article/program/net/201311/15525.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.