亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NET DataList的功能擴(kuò)展研究——實(shí)現(xiàn)數(shù)據(jù)插入操作

        2013-03-20 07:17:40劉仲博
        科技視界 2013年10期
        關(guān)鍵詞:文本框數(shù)據(jù)源代碼

        劉仲博

        (1.寧夏職業(yè)技術(shù)學(xué)院 寧夏 銀川750002;2.寧夏廣播電視大學(xué),寧夏 銀川750002)

        1 .NET中DataList數(shù)據(jù)插入操作概述

        .NET中包括GridView、FormView和DetailsView在內(nèi)的很多數(shù)據(jù)控件,對(duì)數(shù)據(jù)源的更新、排序和分頁(yè)顯示功能都是通過(guò)和它綁定的數(shù)據(jù)源進(jìn)行數(shù)據(jù)交互實(shí)現(xiàn)。但是由于DataList不能和數(shù)據(jù)源進(jìn)行直接雙向交互[1],因而不能直接利用數(shù)據(jù)源控件已經(jīng)封裝好的更新、排序和分頁(yè)顯示功能。如果想在DataList中對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行插入操作,此時(shí)需要開(kāi)發(fā)人員手工完成代碼,從而完成對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)插入的目的。

        2 .NET中DataList對(duì)數(shù)據(jù)源進(jìn)行數(shù)據(jù)插入的方法

        在 DataList中對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行插入時(shí),一般使用的是FooterTemplate模板,而不是使用編輯模板 EditItemTemplate,在FooterTemplate模板上對(duì)需要插入的數(shù)據(jù)進(jìn)行布局和設(shè)置,在項(xiàng)模板中包括一個(gè)按鈕,然后將該按鈕的CommandName屬性設(shè)置為Insert[2],然后在響應(yīng)ItemCommand事件時(shí)與數(shù)據(jù)源進(jìn)行直接雙向交互,以實(shí)現(xiàn)對(duì)數(shù)據(jù)插入的目的。

        下面具體地講述一下,在DataList中對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行插入的方法:

        ①先在SQL SERVER數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)TestDB和一張表MyTable,并在表MyTable中插入兩行數(shù)據(jù),主要參考代碼如下:

        ②在.ASPX頁(yè)面中放入一個(gè)按鈕,然后給按鈕添加一個(gè)OnClick事件,并讓這個(gè)事件調(diào)用自定義的InsertMode_Clk方法,以便用戶(hù)在點(diǎn)擊這個(gè)按鈕時(shí)就進(jìn)入DataList的數(shù)據(jù)插入模式,之所以采用這樣的設(shè)計(jì),主要是考慮到DataList只在需要使用數(shù)據(jù)插入的操作時(shí)才進(jìn)入數(shù)據(jù)插入模式,否則就不需要進(jìn)入數(shù)據(jù)插入模式,參考代碼如下:

        ③在.ASPX頁(yè)面對(duì)應(yīng)的.CS文件中實(shí)現(xiàn)InsertMode_Clk方法,實(shí)現(xiàn)它的方法是在其中將DataList1的FooterTemplate模板顯示出來(lái),在這個(gè)模板上可以對(duì)需要插入的數(shù)據(jù)進(jìn)行布局和設(shè)置,以實(shí)現(xiàn)對(duì)數(shù)據(jù)插入的目的,參考代碼如下:

        上述代碼如果不想放在.CS文件中而是想放在.ASPX頁(yè)面中,那就先在頁(yè)面的</head>后加入如下代碼:<script runat="server"></ script>,然后將上面的InsertMode_Clk方法放在</script>前面。

        ④在.ASPX頁(yè)面中放入一個(gè) DataList,其 ID設(shè)為 DataList1,DataSourceID設(shè)為 SqlDataSource1,ShowHeader設(shè)為 true,ShowFooter初始設(shè)為false,并給這個(gè)DataList添加一個(gè)OnItemCommand事件,并讓這個(gè)事件調(diào)用自定義的 DataList1_InsertCommand方法,然后在DataList1中的<FooterTemplate>對(duì)數(shù)據(jù)插入進(jìn)行布局和設(shè)置,這里只放入兩個(gè)TextBox文本框和兩個(gè)LinkButton按鈕,其中兩個(gè)文本框用于接收用戶(hù)的輸入,之所以放兩個(gè)文本框,是因?yàn)樗鼈兪且謩e插入到數(shù)據(jù)庫(kù)的主鍵列和非主鍵列,其操作是不一樣的,其中一個(gè)LinkButton按鈕是在用戶(hù)點(diǎn)擊后將數(shù)據(jù)插入到數(shù)據(jù)源,另一個(gè)LinkButton按鈕是在用戶(hù)點(diǎn)擊后退出DataList的數(shù)據(jù)插入模式,這里需要注意,實(shí)現(xiàn)數(shù)據(jù)插入的按鈕其CommandName屬性要設(shè)置為Insert,實(shí)現(xiàn)退出數(shù)據(jù)插入模式的按鈕不用設(shè)置CommandName屬性,但要添加一個(gè)OnClick事件,并讓這個(gè)事件調(diào)用自定義的CancelIns_Clk方法,以便用戶(hù)在點(diǎn)擊這個(gè)按鈕時(shí)就退出數(shù)據(jù)插入模式,DataKeyField的值user_id是數(shù)據(jù)庫(kù)的主鍵列,為了減少代碼,這里省略了布局常用的表格,參考代碼如下:

        ⑤在.ASPX頁(yè)面對(duì)應(yīng)的.CS文件中實(shí)現(xiàn)CancelIns_Clk方法,實(shí)現(xiàn)它的方法是在其中將DataList1的FooterTemplate取消顯示,從而取消數(shù)據(jù)插入界面,參考代碼如下:

        上述代碼如果不想放在.CS文件中而是想放在.ASPX頁(yè)面中,可以先在頁(yè)面的</head>后加入如下代碼:<script runat="server"></ script>,然后將上面的CancelIns_Clk方法放在</script>前面,注意,如果<script runat="server"></script>已經(jīng)添加過(guò),就不用重復(fù)添加,直接放入上面的CancelIns_Clk方法就可以了。

        ⑥在.ASPX頁(yè)面中放入一個(gè) SqlDataSource, 其 ID設(shè)為SqlDataSource 1,這樣DataList1就可以顯示SqlDataSource1的數(shù)據(jù),讓SelectCommand="SELECT [user_id],[username]FROM [TestDB].[dbo]. [MyTable]",這樣SqlDataSource1將顯示TestDB中MyTable表的user_id列和username列的數(shù)據(jù),然后再讓InsertCommand="INSERT INTO [TestDB].[dbo].[MyTable](user_id, username)VALUES (@user_id, @username)",這樣SqlDataSource1的插入操作將最終插入到[TestDB]中[MyTable]表的user_id列和username列中,最后讓ConnectionString="<%$ConnectionStrings:TestDB%>">,這樣SqlDataSource1就可以調(diào)用web.config文件中<connectionStrings>下的name="TestDB"的連接串,插入?yún)?shù)中將user_id和username設(shè)置為String型,參考代碼如下:

        ⑦在.ASPX頁(yè)面對(duì)應(yīng)的.CS文件中實(shí)現(xiàn)DataList1_InsertCommand方法,實(shí)現(xiàn)它的方法是先判斷一下,如果點(diǎn)擊的是插入命令,我們就找到相應(yīng)的TextBox,然后將它們的值保存到變量中,然后將它們的值分別設(shè)置成SqlDataSource1相應(yīng)的插入?yún)?shù),再對(duì)SqlDataSource1進(jìn)行數(shù)據(jù)插入,插入完成后,為了在DataList1中取消編輯狀態(tài),讓編輯項(xiàng)的索引等于-1,為了讓這些操作立即生效,需要重新綁定DataList1,參考代碼如下:

        上述代碼如果不想放在.CS文件中而是想放在.ASPX頁(yè)面中,可以先在頁(yè)面的</head>后加入如下代碼:<script runat="server"></ script>,然后在</script>前面放入將上面的DataList1_InsertCommand方法,注意,如果<script runat="server"></script>已經(jīng)添加過(guò),就不用重復(fù)添加,直接放入上面的DataList1_InsertCommand方法就可以了。

        ⑧打開(kāi) web.config文件,然后找到<configuration>中的:<connectionStrings/>

        并將其刪除,然后重新為數(shù)據(jù)庫(kù)添加連接,下面連接字符串的server、database、uid、pwd等參數(shù)對(duì)應(yīng)的值需要根據(jù)不同的機(jī)器做相應(yīng)的調(diào)整,在<connectionStrings>下添加name="TestDB"的連接串,參考代碼如下:

        經(jīng)過(guò)上面的處理后,在頁(yè)面中點(diǎn)擊進(jìn)入數(shù)據(jù)插入模式按鈕后,就會(huì)顯示需要輸入數(shù)據(jù)文本框,在輸入正確的數(shù)據(jù)后,點(diǎn)擊插入按鈕,DataList就可以對(duì)數(shù)據(jù)源的數(shù)據(jù)進(jìn)行插入操作了。

        [1]DataList Web服務(wù)器控件概述 [OL].http://msdn.microsoft.com/zh-cn/library/ es4e4e0e.aspx.

        [2]DataList.FooterTemplate 屬 性 [OL].http://msdn.microsoft.com/zh-cn/library/ system.web.ui.webcontrols.datalist.footertemplate.aspx.

        猜你喜歡
        文本框數(shù)據(jù)源代碼
        巧用文本框?qū)崿F(xiàn)PPT多圖片排版
        PPT文本框的另類(lèi)應(yīng)用
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        創(chuàng)世代碼
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評(píng)價(jià)研究
        文本框酷變3D效果
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評(píng)價(jià)算法
        日本一区二区视频高清| 国产精品一区二区资源| 精品理论一区二区三区| 男女视频网站在线观看| 日本中国内射bbxx| 中日av乱码一区二区三区乱码| 美女视频很黄很a免费国产| 国产av精品一区二区三区视频| 精品欧美一区二区三区久久久| ā片在线观看免费观看| 91久久久久无码精品露脸| 国产一级av理论手机在线| 久久综合精品人妻一区二区三区| 又黄又硬又湿又刺激视频免费| 亚洲综合色一区二区三区小说| 女同性恋亚洲一区二区| 亚洲国产高清美女在线观看| 午夜视频在线观看日本| 人妻丰满熟妇av无码区app| 又白又嫩毛又多15p| 韩国女主播一区二区在线观看 | 熟女少妇丰满一区二区| 久久久精品少妇—二区| 色窝窝无码一区二区三区| 日日碰狠狠丁香久燥| а的天堂网最新版在线| 中文字幕乱码亚洲一区二区三区| 射精专区一区二区朝鲜| 毛片免费在线播放| 黄网站a毛片免费观看久久| av素人中文字幕在线观看| 后入到高潮免费观看| 一卡二卡三卡视频| 中文字幕一区二区三区97| 亚洲综合中文字幕综合| 四虎影视免费观看高清视频| 啪啪视频一区二区三区入囗| 男女啪啪动态视频在线观看| 777米奇色狠狠俺去啦| 国内久久婷婷激情五月天| 极品少妇在线观看视频|