0

我在 HyperLink 和 PlaceHolder 中有 8 个或更多图像控件,我需要更改每个控件的参数。它用于 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 的另一个)
  2. 向类添加一个属性,该属性将允许您设置图像 url 的编号。
  3. 然后在为您派生控件的 Initialize 函数中,您可以根据您在步骤 #2 中创建的属性修复您的 NavigateUrl(和您的其他属性)。
  4. 在表单中使用您的新类(而不是 HyperLink 和 PlaceHolder 控件),在设计器中从步骤 #2 设置您的属性。

这将消除循环的需要。

谷歌搜索可能会为您提供有关如何创建继承的服务器控件的各种帮助/教程。

于 2009-10-22T16:53:48.143 回答