日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

GridView里面的HyperLink和ButtonField操作总结

發布時間:2025/6/15 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GridView里面的HyperLink和ButtonField操作总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??HyperLink的操作前段時間已經研究的頗有心得了,但是ButtonField卻一直沒有解決,這個問題困擾了我多日,中間因為考試中段了一段時間,現在重新找出來發現問題還是沒有解決,在查找了一些資料之后終于搞定了,其實挺簡單的,這里面用到了一個小技巧,那就是使用TemplateField。

????懶得自己寫了,總結一下別人做過的工作吧。

------------------愛國分界線----------------------

????HyperLink的應用只要是頁面轉向,中間要設置一些諸如ID啊、NAME啊之類的屬性,用起來非常方便,其主要屬性設置為:

<asp:HyperLinkField?DataNavigateUrlFields="UserId,UserName"?DataNavigateUrlFormatString="userdetail.aspx?UserId={0}?&amp;?UserName={1}"?DataTextField="UserName"?HeaderText="用戶詳細信息"?Target="_blank"?/>

看上去是不是非常強悍?用起來更強悍!

????ButtonField的屬性主要的就一個CommandName,看起來很羸弱,用起來也是如此。看看它的典型應用的屬性設置吧:

<asp:ButtonField?ButtonType="Button"?CommandName="Click1"?Text="按鈕點擊事件1"?/>
<asp:ButtonField?ButtonType="Button"?CommandName="Click2"?Text="按鈕點擊事件2"?/>

protected???void??GridView1_OnRowCommand(?object??sender,?GridViewCommandEventArgs?e)

{

???????if??(e.CommandName.ToString()?==("Click1"))

???????????Label1.Text?=?"you?Click"?+?e.CommandName.ToString()+1111;

??????else

??????????Label1.Text?=?"you?Click"?+?e.CommandName.ToString()?+?222;

}

這個CommandNam就是為了判斷選取的是哪一列的按鈕。雖然代碼和屬性都很簡單,但是ButtonField應用起來很多地方不方便,比如在AJAX架構中放在UpdatePanel種的時候,使用JavaScript就讓人困擾。于是我們來介紹一下模板列TemplateField。

????????很多ASP.NET 2.0程序設計高手在網上貼了很多怎么轉換和使用模板列,我這里就直接拿過來了:

1、點擊GridView的快捷箭頭,選‘編輯列’。
2、加入一個ButtonFiled,在右邊的屬性框里設置HeadText(用以顯示),定義一個CommandName(用以你點擊以后觸發的動作)
3、點右下角的‘轉化為模版列’,ok。
4、右擊GridView,‘編輯模版’--‘Column[..]--你之前定義的HeadText’,ItemTemplate里看見你的按鈕了嗎?點中,屬性里有一項‘OnClientClick’,把“javascript:return confirm('真的要刪除嗎?');”粘貼進去。
5、搞定你需要的功能了。
6、如果你想點擊按鈕觸發其他事件,可以在RowCommand事件里詳細寫。。。
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs?e)
{
????if (e.CommandName == "MyBtnClicked")//前面你定義的CommandName
????{
????????Response.Write("kkk clicked");
????}
}

如果你使用了微軟的數據源空間SqlDataSource,那么你還可以直接設置Button將要操作的數據列,而不用再去寫代碼,如下設置:

1、在前面的步驟4中,你在itemTemplate里看見你的按鈕右上角的小箭頭了吧,verygood,點擊‘編輯DataBings’。。。
2、看見這一級別的綁定了嗎?把 CommandArgument和你想操作的字段綁定吧。。。(右邊下拉列表選擇)
3、ok,現在你可以類似下面方法調用
------------------
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs?e)
{
????if (e.CommandName == "MyBtnClicked")
????{
????????Response.Write("you wanted " + e.CommandArgument.ToString());
????}
}
------------------
你無非就是想取到結果集中的cell里的內容,現在你想得到的內容綁定在CommandArgument里了,你就不用再什么index什么cell[].text了(復雜的cell你還要findcontrol,呵呵)

OK,這就是模板列最有意思的應用了,當然了,應該還有更加強大的應用,但是迄今為止我用到的也就這么一些了,也只能介紹這么多了。我最喜歡的還是很方便的就可以在里面添加JavaScript代碼,很強大。

?

????今天的總結就這么寫了,以后遇到問題隨時分享。

總結

以上是生活随笔為你收集整理的GridView里面的HyperLink和ButtonField操作总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。