0

HyperLink と PlaceHolder 内にそれぞれ 8 つ以上の Image コントロールがあり、それぞれのパラメーターを変更する必要があります。これは、Sitefinity ギャラリー コントロール用です。今、私はこれを8回行います:

if (String.IsNullOrEmpty(Image_1_File_Name) == true) {
   Image1_ph.Visible = false;
  }
  else {  
  productImageLink1.NavigateUrl = Folder_URL + Image_1_File_Name + "_l.jpg";
  productImageLink1.Attributes.Add("rel", "zoom-id:"+ zoom.ClientID +";zoom-fade: true");
  productImageLink1.Attributes.Add("rev", Folder_URL + Image_1_File_Name + "_m.jpg");
  productImage1.ImageUrl = Folder_URL + Image_1_File_Name + "_tn.jpg";
  productImage1.AlternateText = Image_1_Alt_Tag;
  }

コピーして貼り付けて番号を置き換えるだけです。しかし、これをループで実行したいのですが、各コントロールセットを参照する方法が見つかりません。

これはどのように達成できますか?

4

2 に答える 2

4

再帰を使用して、パネル内のさまざまなコントロールをループできます。ここに例があります。

于 2009-10-22T16:46:09.500 に答える
0

これがあなたのために働くかもしれないアプローチです:

  1. HyperLink(PlaceHolderのもう1つ)から継承されるクラスを作成します
  2. 画像のURLの番号を設定できるプロパティをクラスに追加します。
  3. 次に、派生コントロールの初期化関数で、手順2で作成したプロパティに基づいてNavigateUrl(およびその他のプロパティ)を修正できます。
  4. フォームで(HyperLinkおよびPlaceHolderコントロールの代わりに)新しいクラスを使用し、デザイナーで手順2からプロパティを設定します。

これにより、ループが不要になります。

グーグル検索はおそらくあなたに継承されたサーバーコントロールを作成する方法に関するあらゆる種類のヘルプ/チュートリアルを与えるでしょう。

于 2009-10-22T16:53:48.143 に答える