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

ASP.NET項目開發指南:用戶信息的處理(2)

2013-11-13 12:26:58  來源: .NET編程 

    用戶信息的處理(

  刪除

  刪除不會使控件處於編輯狀態所以只需要在這裡得到用戶單擊的控件的某一項然後用這一項和數據庫進行關聯即可進行刪除操作刪除完畢後不要忘記再讀出數據重新綁定到控件上主要代碼如程序所示

  程序  ST_Admin_usermanaspxcs

    protected void GridView_RowDeleting(object sender

            GridViewDeleteEventArgs e)

    {

        string ST_myid;

        string ST_strsql = ;

        //獲取當前行的主鍵

        ST_myid = GridViewRows[eRowIndex]Cells[]Text;

        //刪除數據

        ST_strsql = delete * fromt ST_tUser where ST_ID= + ST_myid;

        ST_databaseexecsql(ST_strsql)

        //重新讀取並綁定

        ST_strsql = SELECT *  FROM ST_tUser order by ID desc ;

        DataTable ST_dt = ST_databaseReadTable(ST_strsql)

        GridViewDataSource = ST_dt;

        GridViewDataBind()

    }

  【代碼說明】代碼第行是獲取GridView中要被刪除的行的主鍵因為前台在設計時將ID字段放在了第一列而Cells[]就是讀取第一列因為索引是從開始刪除數據後GridView的數據發生變化所以代碼第~行需要重新讀取數據庫的數據並綁定到GridView

  EditIndex屬性

  當單擊編輯按鈕時需要先獲取管理員所單擊按鈕在網格中的索引然後將其賦值給GridView的EditIndex屬性再讀取數據庫將數據綁定到GridView主要代碼如程序所示

  程序  ST_Admin_usermanaspxcs

    protected void GridView_RowEditing(object sender

        GridViewEditEventArgs e)

    {

        //獲取編輯的行號

        GridViewEditIndex = eNewEditIndex;

        //重新綁定數據

        string ST_strsql;

        ST_strsql = SELECT *  FROM ST_tUser order by ST_ID desc ;

        DataTable ST_dt = ST_databaseReadTable(ST_strsql)

        GridViewDataSource = ST_dt;

        GridViewDataBind()

    }

  【代碼說明】代碼第行通過eNewEditIndex獲取編輯的行號因為頁面的數據可能被用戶作了更改所以通過代碼第~行重新綁定數據

  更新

  單擊更新按鈕會觸發GridView_RowUpdating事件在這個事件中先退出編輯狀態然後根據管理員在TextBox中輸入的數據更新數據庫的內容再次讀取數據庫中的內容並綁定到GridView主要代碼如程序所示

  程序  ST_Admin_usermanaspxcs

    protected void GridView_RowUpdating(object sender

    GridViewUpdateEventArgs e)

    {

        string ST_id;

        string ST_strsql;

        //定義個TextBox控件

        TextBox username userpass useracc;

        ST_id = GridViewRows[eRowIndex]Cells[]Text;

        username =

            (TextBox)(GridViewRows[eRowIndex]Cells[]Controls[])

        userpass =

            (TextBox)(GridViewRows[eRowIndex]Cells[]Controls[])

        useracc =

            (TextBox)(GridViewRows[eRowIndex]Cells[]Controls[])

        //更新數據庫的數據

        //TextBoxText=tbText;

        ST_strsql = update ST_tUser set ST_username= + usernameText

            + ST_userpassword=

            + userpassText + ST_userclass= + useraccText

            + where ST_ID= + ST_id;

        //ResponseWrite(strsql)

        ST_databaseexecsql(ST_strsql)

        //重新綁定GridView

        ST_strsql = SELECT *  FROM ST_tUser order by ST_ID desc ;

        GridViewEditIndex = ;

        DataTable ST_dt = ST_databaseReadTable(ST_strsql)

        GridViewDataSource = ST_dt;

        GridViewDataBind()

    }

    …

  【代碼說明】代碼第行定義了個TextBox控件它們的值通過代碼第~行獲取其中eRowIndex表示當前編輯行的行號而Cells[]就表示當前行的第代碼第~行是在數據庫中更新當前行的語句代碼第~用來重新綁定更新後的數據

  說明Rows[eRowIndex]Cells[]Controls[]表示指定行第二列中的控件集合中的第一個控件

       返回目錄ASPNET項目開發指南

       編輯推薦

       ASPNET MVC 框架揭秘

       ASPNET開發寶典

       ASP NET開發培訓視頻教程


From:http://tw.wingwit.com/Article/program/net/201311/15927.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.