Linkbuttonコントロールのプロジェクトでの簡単な応用

3406 ワード

Linkbuttonコントロールのプロジェクトでの簡単な応用
Webコントロールには、フォームのコミットと返信に使用されるコントロール、すなわちButtonコントロールのセットがあることを知っています.このようなコントロールは、ユーザー入力値のあるページをサーバにコミットし、ページ内のコードでこれらの値を処理するために使用されます.ユーザーがコードで使用できるように、サーバ上でClickイベントが生成されます.
Buttonコントロールはbuttonコントロール、LinkButtonコントロール、ImageButtonコントロールの3種類に分けられます.ページをコミットするために使用されます.ここで、ImageButtonコントロールは、1枚の画像として表示され、ユーザがクリックする位置の座標位置を提供することができる.LinkButtonコントロールはページにスーパーリンクとして表示されます.
オンラインシューズショップシステムでは,1ページ内で複数のLinkButtonコントロールを用いて同じコマンドを実行する方法を簡単に適用した.次に詳しく紹介します.
質問1:LinkButtonを使用するのは、各ブランドの詳細にリンクするためのページです.では、なぜHyperLinkをナビゲーションせずにLink Buttonに取って代わったのでしょうか.
実際、HyperLinkコントロールはURL指向のスーパーリンクを生成するだけであり、LinkButtonコントロールはButtonクラスのコントロールに属します.それ自体はイベント処理をサポートしており、NavigateUrl属性はなく、URLリンク機能も主にイベント処理によって完成している.LinkButtonコントロールはOnClick、OnCommandなどのサーバー側メソッドをサポートしている.以下にまとめることができます.
LinkButtonの外観とスタイルはhyperlinkと同じですが、他にも2つのメリットがあります.
◆クリックすると同じページに戻ることができます.
◆使いやすいOnClickメソッド.
質問2:LinkButtonの使用が確認されました.では、複数のLinkButtonコントロールの定義方法を1ページでどのように定義しますか?コントロールごとに同じ方法を書きますか?これは明らかに現実的ではない.では、1つの方法だけを書くと、どのコントロールがトリガーされ、サーバが誰にサービスを提供しているかをどのように判断しますか?
ここではLinkButtonのプロパティCommandNameとメソッドCommandを適用して実装する.
まずLinkButtonのいくつかの重要な属性と方法を理解します.
◆CommandNameプロパティ:LinkButtonコントロール項目に関するコマンド名を取得または設定します.この値はCommandArgumentプロパティとともにCommand処理イベントに渡されます.
◆CommandArgumentプロパティ:Asscendingソート順など、コマンドに関する補足情報が含まれます.CommandNameと一緒に使用します.
◆Clickイベント:コマンド名がLinkButton制御に関連付けられていない場合(「発行」ボタンなど)に使用されます.
◆Commandイベント:LinkButtonコントロールをクリックするとCommandイベントが発生します.このイベントは、通常、Sortなどのコマンド名がLinkButtonコントロールに関連付けられている場合に使用されます.これにより、1つのWebページに複数のLinkButtonコントロールを作成し、どのLinkButtonコントロールをクリックしたかをプログラミングで決定できます.
LinkButtonのプロパティとメソッドを理解した後.LinkButtonのCommandNameプロパティとCommandArgumentプロパティをプログラムで割り当て、CommandイベントでCommandEventArgsクラスからデータを取得し、どのLinkButtonがトリガーされたかを判断できます.ここで、CommandEventArgsクラスには、ボタンイベントに関するデータが格納されており、これらのデータは、イベント処理において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;
}
}