欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ASP.NET數(shù)據(jù)綁定之DataList控件實戰(zhàn)篇

 更新時間:2016年01月12日 11:31:48   作者:廊坊師范學(xué)院周坤  
這篇文章主要為大家介紹了ASP.NET數(shù)據(jù)綁定中的DataList控件,DataList控件以表的形式呈現(xiàn)數(shù)據(jù),通過該控件,您可以使用不同的布局來顯示數(shù)據(jù)記錄,對DataList控件感興趣的小伙伴們可以參考一下

上篇文章大概講了DataList的一些基礎(chǔ)知識,掌握這些知識在將來的應(yīng)用中起到很大的作用,現(xiàn)在我們就開始講上篇文章中說的基礎(chǔ)知識做一個小例子。
    首先,我機子的數(shù)據(jù)庫中有一張person表,如下圖所示。


現(xiàn)在,我們用DataList控件將表中的信息顯示出來,并可以在DataList控件上對數(shù)據(jù)庫中的表進行編輯操作。
    1、首先用vs創(chuàng)建web應(yīng)用程序,添加web窗體,在web窗體內(nèi)拉入DataList控件,右擊控件,選擇編輯項模板,在這里我們能看到四個模板,其中兩個是SelectedItemTemplate和EditItemTemplate,在ItemTemplate模板中拉入兩個LinkButton控件,一個將Text改名為查看,CommandName屬性改成select,另外一個將Text改成編輯,其CommandName屬性改成edit。然后在HTML頁面創(chuàng)建SelectedItemTemplate模板,在模板中綁定員工的所有信息。(這里是實現(xiàn)查看員工詳細信息的功能)。
    2、在EditItemTemplate模板項中添加兩個LinkButton控件,Text屬性分別為保存和取消,CommandName屬性分別為update和cancel,然后再添加一個TextBox控件,用來輸入姓名,在這里實現(xiàn)修改員工姓名的功能。
    3、我們還可以在屬性生成器總更改表格的樣式、將字體的顏色、網(wǎng)格的距離更改一下,這里詳細不住不再敖述,最后結(jié)束模板編輯。
    4、編輯前臺HTML代碼
    ItemTemplate模板中的代碼(用來顯示員工的姓名)

<ItemTemplate> 
 <asp:LinkButton ID="lbtnShowDetails" runat="server" CommandName="select" ForeColor="Red">查看</asp:LinkButton> 
 <asp:LinkButton ID="lbtnEdit" runat="server" CommandName="edit" ForeColor="Red">編輯</asp:LinkButton> 
 <%# DataBinder.Eval(Container.DataItem,"personName") %> 
</ItemTemplate> 

    SelectedItemTemplate模板中的代碼(用來顯示員工中的詳細信息)

 <SelectedItemTemplate> 
 員工編號: <%# DataBinder.Eval(Container.DataItem,"pID") %> 
 <br /> 
 員工姓名: <%# DataBinder.Eval(Container.DataItem,"personName") %> 
 <br /> 
 員工性別: <%# DataBinder.Eval(Container.DataItem,"personSex") %> 
</SelectedItemTemplate> 

    EditItemTemplate模板中的代碼(用來修改員工姓名)注意:將文本框中的text屬性綁定到員工的姓名上。

<EditItemTemplate> 
 <asp:LinkButton ID="lbtnupdate" runat="server" CommandName="update">保存</asp:LinkButton> 
 <asp:LinkButton ID="lbtnCancel" runat="server" CommandName="cancel">取消</asp:LinkButton> <br /> 
 員工編號:<%# DataBinder.Eval(Container.DataItem,"pID") %><br />姓名:<asp:TextBox ID="txtName" runat="server" <span style="color:#FF0000;">Text='<%# DataBinder.Eval(Container.DataItem,"personName") %>'</span> Width="50px"></asp:TextBox> 
</EditItemTemplate> 

   最后是頁眉和頁腳模板

<HeaderTemplate> 
  模板的頁眉 
 </HeaderTemplate> 
 <FooterTemplate> 
  <br /> 
  模板的頁腳 
 </FooterTemplate> 

   5、編輯好了的前臺界面如下
       

    6、后臺代碼的編寫
    6.1、 編寫DataList數(shù)據(jù)綁定的方法

private void dataBindToDataList() 
  { 
   SqlConnection con = DB.createConnection(); 
   SqlDataAdapter sda = new SqlDataAdapter(); 
   string sql = "select * from person "; 
   sda.SelectCommand = new SqlCommand(sql, con); 
   DataSet ds = new DataSet(); 
   sda.Fill(ds, "per"); 
   DataList1.DataKeyField = "pID"; //將主鍵存入到DataKeys集合當(dāng)中,以便后面對某一條數(shù)據(jù)進行編輯。 
   DataList1.DataSource = ds.Tables["per"]; 
   DataList1.DataBind(); 
  } 

    6.2、編寫Page_Loda事件,判斷頁面是否第一次加載,并在第一次加載頁面時綁定數(shù)據(jù)。

protected void Page_Load(object sender, EventArgs e) 
  { 
   if (!this.IsPostBack) 
   { 
    this.dataBindToDataList(); 
   } 
  } 

   6.3、編寫DataList1_ItemCommand事件,實現(xiàn)查看員工詳細信息功能(前提是我們已經(jīng)在SelectedItemTemplate模板中將員工的詳細信息已經(jīng)綁定,現(xiàn)在只是調(diào)用方法將其顯示出來)

protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)// e表示DataList傳遞給該函數(shù)的信息。 
  { 
   if (e.CommandName == "select") 
   { 
    this.DataList1.SelectedIndex = e.Item.ItemIndex; 
    this.dataBindToDataList(); 
   } 
  } 

6.4、編寫DataList1_EditCommand事件,實現(xiàn)編輯功能,將EditItemTemplate模板中的信息顯示出來。

protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)// e表示DataList傳遞給該函數(shù)的信息。 
  { 
   this.DataList1.EditItemIndex = e.Item.ItemIndex;//e.Item表示DataList中發(fā)生事件的那一項 
   this.dataBindToDataList(); 
 
  } 

   這時候,編輯模板項的綁定信息就會顯示出來,我們可以在這更改姓名,或者取消編輯,效果圖如下

       

                                                

     最后是取消修改功能的代碼、更新功能的代碼、刪除功能的代碼,事件分別為DataList1_CancelCommand、DataList1_UpdateCommand、DataList1_DeleteCommand。

protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)// e表示DataList傳遞給該函數(shù)的信息。 
  { 
   DataList1.EditItemIndex = -1; //當(dāng)EditItemIndex屬性值為-1時,表示不顯示EditItemTemplate模板 
   dataBindToDataList(); 
  } 
 
  protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e) 
  { 
    string ID =DataList1.DataKeys[e.Item.ItemIndex].ToString(); 
    string name = ((TextBox)e.Item.FindControl("txtName")).Text ; 
    SqlConnection con = DB.createConnection(); 
    SqlCommand cmd = new SqlCommand("update person set personName='"+name+"'where pID='"+ID+"'",con); 
    cmd.ExecuteNonQuery(); 
    DataList1.EditItemIndex = -1; 
    dataBindToDataList(); 
  } 
  protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) 
  { 
   string ID = DataList1.DataKeys[e.Item.ItemIndex].ToString(); 
   SqlConnection con = DB.createConnection(); 
   SqlCommand cmd = new SqlCommand("delete from person where pID='" + ID + "'", con); 
   cmd.ExecuteNonQuery(); 
   DataList1.EditItemIndex = -1; 
   dataBindToDataList(); 
  } 

     用DataList控件實現(xiàn)對數(shù)據(jù)庫中person表的操作,實現(xiàn)查看詳細信息,修改操作,大致流程是先修改DataList控件的各個模板中綁定的數(shù)據(jù),然后等待具體的事件使該模板中的內(nèi)容顯示出來,最后再對數(shù)據(jù)進行操作。當(dāng)數(shù)據(jù)適配器DateAdapter對象將數(shù)據(jù)源中的數(shù)據(jù)填充到DataSet中后,我么可以用DataList.DataKeyField=“主鍵字段名” 語句將主鍵添加到DataList的DataKeys集合中,當(dāng)我們要修改數(shù)據(jù)的時候可以再從該集合中取出要編輯的數(shù)據(jù)項的主鍵,語句為DataList1.DataKeys[e.Item.ItemIndex]。這樣我們就可以隨心所欲的修改DataList表中的數(shù)據(jù)項了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    Asp.Net Core輕松學(xué)習(xí)系列之配置文件

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core輕松學(xué)習(xí)系列之配置文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Entity?Framework?Core生成數(shù)據(jù)庫表

    Entity?Framework?Core生成數(shù)據(jù)庫表

    這篇文章介紹了Entity?Framework?Core生成數(shù)據(jù)庫表的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-03-03
  • ASP.net基礎(chǔ)知識之常見錯誤分析

    ASP.net基礎(chǔ)知識之常見錯誤分析

    ASP.net基礎(chǔ)知識之常見錯誤分析...
    2007-07-07
  • ASP.net百度主動推送功能實現(xiàn)代碼

    ASP.net百度主動推送功能實現(xiàn)代碼

    百度站長工具的主動推送功能,以最為快速的提交方式,推薦您將站點當(dāng)天新產(chǎn)出鏈接立即通過此方式推送給百度,以保證新鏈接可以及時被百度收錄
    2020-09-09
  • Quartz.NET的具體使用

    Quartz.NET的具體使用

    本文詳細的介紹了Quartz.NET的具體使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • asp.net生成字母和數(shù)字混合圖形驗證碼

    asp.net生成字母和數(shù)字混合圖形驗證碼

    這篇文章主要為大家詳細介紹了asp.net生成字母和數(shù)字混合圖形驗證碼的實現(xiàn)方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • asp.net下PageMethods使用技巧

    asp.net下PageMethods使用技巧

    ASP.net AjAX中的PageMethods可以將靜態(tài)頁方法添加到 ASP.NET 頁中并將其用作 Web 方法。然后,無需創(chuàng)建單獨的 .asmx 文件即可從該頁中的腳本調(diào)用這些方法,就好像這些方法是 Web 服務(wù)的一部分。特別是在一些交互流程不復(fù)雜而調(diào)用次數(shù)和方法又比較多的情況下更為方便。因為PageMethods不需要我們再添加另外的WEB服務(wù)或Page來處理請求。
    2008-03-03
  • Visual Studio 2017下ASP.NET CORE的TagHelper智能提示解決辦法

    Visual Studio 2017下ASP.NET CORE的TagHelper智能提示解決辦法

    這篇文章主要為大家詳細介紹了Visual Studio 2017下ASP.NET CORE TagHelper智能提示的解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 查看Json輸出的*最方便*的方法 (轉(zhuǎn))

    查看Json輸出的*最方便*的方法 (轉(zhuǎn))

    項目的表現(xiàn)層使用MVC+Extjs。在開發(fā)過程中,一旦頁面顯示不正常,第一個需要排查的總是“Action是否輸出了正確的Json?”。
    2009-11-11
  • ASP.NET網(wǎng)站偽靜態(tài)下使用中文URL的方法

    ASP.NET網(wǎng)站偽靜態(tài)下使用中文URL的方法

    中文URL是在URL中直接使用漢字,它的好處是可以使用鏈接地址看起來非常直觀易懂,偽靜態(tài)的規(guī)則,是在web.config文件中定義的
    2014-08-08

最新評論