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

ASP.NET項目開發指南:添加文章(2)

2013-11-13 12:25:44  來源: .NET編程 

    添加文章(

  後台事件處理

  編寫後台事件處理頁面ST_ writeaspxcs主要代碼如程序所示

  程序  ST_ writeaspxcs

    protected void Page_Load(object sender SystemEventArgs e)

    {

        //在此處放置用戶代碼以初始化頁面

        ST_GROUPBlogST_main ST_login = new ST_GROUPBlogST_main()

        //登錄連接

        ST_logincheck_Login()

        //獲得數據庫連接字符串

        string ST_dns = ConfigurationSettingsAppSettings[conn];

        ST_myConn = new OleDbConnection(ST_dns)

        //綁定GridView

        PageDataBind()

    }

  【代碼說明】上述代碼主要實現了文章類型選擇添加文章和重寫文章的功能代碼第行表示獲取WebConfig中AppSettings標簽下名為conn的值具體使用AppSettings還是ConnectionStrings來保存數據庫連接字符串並不重要讀取方式區別也不大代碼第行表示重新綁定頁面

  類別下拉列表框的實現

  類別下拉列表框是通過ST_getList()方法實現的其主要代碼如程序所示

  程序  ST_ writeaspxcs

    public void ST_getList()

    {

        //獲取選擇的類型

        ResponseWrite (<select name=listtype>

        //創建選中類型指定的SQL語句

        OleDbCommand ST_myCmd = new OleDbCommand(select * from

            ST_classST_myConn)

        ST_myConnOpen()

        //通過調用ExecuteReader()從數據庫中檢索行創建OleDbCommand實例

        OleDbDataReader ST_read = ST_myCmdExecuteReader()

        //判斷是否有數據

        while (ST_readRead())

        {

            ResponseWrite (<option value=+ST_read[]ToString()

                +>+ST_read[]ToString()+</option>

        }

        ResponseWrite (</select>

        ST_myConnClose()

    }

  【代碼說明】前台頁面中有一個<%ST_getList()%>表示直接從後台調用該方法並返回方法生成的內容代碼第~行就是通過ResponseWrite()方法輸出一個select下拉列表框標簽

  文章的添加和重寫

  文章的添加和重寫是通過表單中的submit和reset按鈕來實現的當單擊添加按鈕時action=ST_saveaspx通過ST_saveaspxcs中的ST_Save_Add()方法實現文章的添加其主要代碼如程序所示

  程序  ST_ writeaspxcs

    public void ST_Save_Add()

    {

        //獲取新文章的信息

        string ST_n_title = HtmlEncode(RequestForm[n_title])

        string ST_n_author = HtmlEncode(RequestForm[n_author])

        string ST_n_key = HtmlEncode(RequestForm[n_key])

        string ST_n_content = RequestForm

  [n_content]Replace(

        int ST_cmd;

        //判斷表單是否有信息

        if (RequestForm[n_iscmd]!=null)

        {

            ST_cmd=;

        }

        else

        {

            ST_cmd=;

        }

        //創建插入新文章信息的SQL語句

        string ST_sql = insert into ST_news (ST_n_authorST_n_title

    ST_n_keyST_n_contentST_c_idST_n_iscmd) values (+ ST_n_author

        ++ ST_n_title ++ ST_n_key ++ ST_n_content

        ++RequestForm[listtype]++ ST_cmd +;

        //創建OleDbCommand

        OleDbCommand ST_myCmd = new OleDbCommand(ST_sqlST_myConn)

        ST_myConnOpen()

        //執行插入新文章的SQL語句

        ST_myCmdExecuteNonQuery()

        ST_myConnClose()

        //定向到ST_mainaspx頁面

        ResponseRedirect(ST_mainaspx

    }

  【代碼說明】代碼第~行都使用了HtmlEncode()方法其作用是對指定的字符串應用HTML編碼同時防止一些非法字符串注入代碼第行調用了Replace()方法這是字符串類的一個特有方法就是將參數指定的字符全部替換為參數指定的字符這也是防止HTML注入的一種方式代碼第~行創建插入語句然後執行插入命令並最終實現頁面的導航

  說明OleDbCommand也具備ExecuteNonQuery()方法不返回數據

       返回目錄ASPNET項目開發指南

       編輯推薦

       ASPNET MVC 框架揭秘

       ASPNET開發寶典

       ASP NET開發培訓視頻教程


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