999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2013-03-20 07:17:40劉仲博
科技視界 2013年10期
關(guān)鍵詞:頁面按鈕設(shè)置

劉仲博

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[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è)置
這些按鈕能隨便按嗎?
大狗熊在睡覺
當你面前有個按鈕
刷新生活的頁面
中隊崗位該如何設(shè)置
少先隊活動(2021年4期)2021-07-23 01:46:22
本刊欄目設(shè)置說明
中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
內(nèi)心不能碰的按鈕
地鐵出入段線轉(zhuǎn)換軌設(shè)置
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 久久五月天综合| 亚洲成人在线免费观看| 成人av专区精品无码国产| 日韩免费成人| 国产欧美日本在线观看| 在线日韩一区二区| 欧美69视频在线| 国产91精品久久| 国产主播一区二区三区| 久久 午夜福利 张柏芝| 亚洲成人网在线播放| 午夜限制老子影院888| 亚洲IV视频免费在线光看| 欧美在线观看不卡| 欧美成人亚洲综合精品欧美激情| 在线视频一区二区三区不卡| 精品无码一区二区三区电影| 亚洲美女一区| 中国一级特黄视频| 亚洲另类第一页| 亚洲一区二区三区麻豆| 国产门事件在线| 麻豆精品在线视频| 亚洲 欧美 偷自乱 图片| 永久免费无码成人网站| 精品三级网站| 欧美日韩亚洲国产| 国模沟沟一区二区三区| 亚洲天堂视频网站| 欧美成人精品在线| 亚洲天堂高清| 国产中文在线亚洲精品官网| 国产在线八区| 成人日韩视频| 国产va视频| 国产视频资源在线观看| A级毛片高清免费视频就| 少妇被粗大的猛烈进出免费视频| 在线观看国产网址你懂的| 国产成人综合亚洲欧洲色就色| 久久免费视频播放| 亚洲无码高清免费视频亚洲| 91精品专区| 一本大道香蕉中文日本不卡高清二区| 伊人无码视屏| 国产在线观看一区精品| 激情视频综合网| 自拍偷拍欧美日韩| 色网在线视频| 强奷白丝美女在线观看| 热九九精品| 99精品免费欧美成人小视频| h视频在线观看网站| 亚洲最猛黑人xxxx黑人猛交| 亚洲床戏一区| 欧美成人精品一区二区| 亚洲精品在线影院| 性做久久久久久久免费看| 午夜啪啪网| 久久精品人人做人人| 国产原创自拍不卡第一页| 亚洲天堂视频网| 欲色天天综合网| 欧洲熟妇精品视频| 日韩专区第一页| 91久久偷偷做嫩草影院免费看 | 国内熟女少妇一线天| 欧美人人干| 欧美国产精品不卡在线观看| 久久黄色一级片| 影音先锋丝袜制服| 91精品久久久久久无码人妻| 永久成人无码激情视频免费| 黄色网址免费在线| 亚洲色图欧美激情| 亚洲欧美一级一级a| 欧美精品色视频| 欧美日在线观看| 亚洲最大综合网| 91小视频在线观看| 国产国产人成免费视频77777 | 国产91精品调教在线播放|