Linkbutton控件在項目中的簡單應用
我們知道,在web控件中有一組用于表單提交和回傳的控件,即Button控件。這類控件用于將帶有用戶輸入值的頁面提交給服務器,以便用頁面中的代碼對這些值進行處理。它會在服務器上產生一個Click事件,供用戶在代碼中使用。
Button控件可分為button控件、LinkButton控件、ImageButton控件三類。它們都用于提交頁面。其中ImageButton控件可以顯示為一幅圖像,并且能夠提供用戶單擊位置的坐標位置。而LinkButton控件則在頁面上顯示為一個超級鏈接。
在網上鞋店系統中,我們簡單應用了在一個頁面內使用多個LinkButton控件執行同一個命令的方法。接下來我們比較詳細的介紹一下。
問題一:使用LinkButton是用于鏈接到各個品牌細節的頁面。那么為什么不選用導航HyperLink,而以LinkButton取而代之?
事實上,HyperLink控件僅僅是產生一個有URL指向的超級鏈接,而LinkButton控件屬于Button類控件。它本身支持事件處理,并沒有NavigateUrl屬性,它的URL鏈接功能亦主要是由事件處理完成——LinkButton控件支持OnClick、OnCommand等服務器端方法??蓺w納如下:
LinkButton的外觀和風格與hyperlink相同,但它還有另外二點好處,即:
◆ 點擊時能夠返回同一個網頁。
◆ 便于使用的OnClick方法。
問題二:已經確定使用LinkButton。那么如何在一個頁面里對多個LinkButton控件定義方法?要為每一個控件都寫同樣的方法嗎?這顯然是不切實際的。那如果只寫一個方法,又如何判斷是哪個控件觸發,服務器向誰提供服務?
在這里我們應用LinkButton的屬性CommandName和方法Command來實現。
首先我們先了解一下LinkButton的幾個比較重要的屬性和方法。
◆ CommandName屬性:取得或設定與LinkButton控制項相關的命令名稱。這個值與CommandArgument屬性一起傳給Command處理事件。
◆ CommandArgument屬性:包含有關命令的補充資訊,如Ascending排序順序。和CommandName一起使用。
◆ Click事件:這一事件一般在沒有命令名與LinkButton控制關聯時(如“提交”按鈕)使用。
◆ Command事件:當單擊LinkButton 控件時會引發 Command事件。當命令名(如 Sort)與 LinkButton控件關聯時,通常使用該事件。這使您可以在一個網頁上創建多個 LinkButton控件,并以編程方式確定單擊了哪個 LinkButton 控件。
了解LinkButton的屬性和方法后。我們可以在程序中給LinkButton的CommandName屬性和CommandArgument屬性賦值,然后通過Command事件中,即可從CommandEventArgs類中得到數據,進而判斷是哪個LinkButton被觸發了。其中,CommandEventArgs類存儲了和按鈕(Button)事件相關的數據,并且可以在事件處理中通過CommandEventArgs類的屬性來訪問這些數據。
代碼:
復制代碼 代碼如下:
private void BrandLink_Click(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
string cmd = e.CommandName;
switch(cmd)
{
case "BrandLink1":
this.Session["fileName"]=BrandLink1.Text;
Server.Transfer("BrandPic.aspx");
break;
case "BrandLink2":
this.Session["fileName"]=BrandLink2.Text;
Server.Transfer ("BrandPic.aspx");
break;
case "BrandLink3":
this.Session["fileName"]=BrandLink3.Text;
Server.Transfer("BrandPic.aspx");
break;
case "BrandLink4":
this.Session["fileName"]=BrandLink4.Text;
Server.Transfer("BrandPic.aspx");
break; case "BrandLink5":
this.Session["fileName"]=BrandLink5.Text;
Server.Transfer("BrandPic.aspx");
break;
case "BrandLink6":
this.Session["fileName"]=BrandLink6.Text;
Server.Transfer("BrandPic.aspx");
break;
case "BrandLink7":
this.Session["fileName"]=BrandLink7.Text;
Server.Transfer("BrandPic.aspx");
break;
default:
this.Session["fileName"]=BrandLink0.Text;
Server.Transfer("Shop.aspx");
break;
}
}
看完上述內容,你們對如何正確的使用Linkbutton控件有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注本站行業資訊頻道,感謝大家的支持。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
農業銀行金鑰匙安心得利系列靠譜嗎?金鑰匙安心得利系列的風險等級大多數為中低,根據小編在上一篇文章《農業銀行金鑰匙安心得利保本嗎 預期收益情況詳細記錄》中分析的,這系列理財產品都不保本,但是風險因素對本金和預期預期收益的影響較小。雖然農業銀行在說明中表示農業銀行金鑰匙安心得利不保證本金,但是理財筆記小編認為它是比較安全的。因為結合各銀行此風險等級的理財產品情況來考慮,中低風險的理財產品還未出現過本金...
北京四大火車站稱為北京站、北京西站、北京南站、北京北站,也是北京四大鐵路客運站之一。一個有意思的事情是,北京的四大客運站都位于幾個區的交界處,而且都在東城區、西城區和其他區的交界處。北京鐵路樞紐如圖。北京鐵路樞紐北京鐵路樞紐北京鐵路樞紐為環形鐵路樞紐,其核心區形成內環(北京-北京南-廣安門-北京西)和外環(豐臺、豐西-東南環-雙橋-東北環-西北環-豐沙-豐臺、豐西)雙環。北京最經典火車站——北京站...
托管代碼是什么意思?托管代碼同受管制的代碼,由公共語言運行庫環境(而不是直接由操作系統)執行的代碼。托管代碼應用程序可以獲得公共語言運行庫服務,例如自動垃圾回收、運行庫類型檢查和安全支持等。這些服務幫助提供獨立于平臺和語言的、統一的托管代碼應用程序行為。托管與非托管代碼的區別托管代碼是一種中間語言,運行在CLR上;非托管代碼被編譯為機器碼,運行在機器上。托管代碼獨立于平臺和語言,能更好的實現不同語...