C# 我正在尝试为一组超链接使用for循环创建ASP.NET表
我有一个超链接列表,我想用它创建一个2x*表(*是超链接的数量) 这是我的密码C# 我正在尝试为一组超链接使用for循环创建ASP.NET表,c#,asp.net,C#,Asp.net,我有一个超链接列表,我想用它创建一个2x*表(*是超链接的数量) 这是我的密码 for (int rows = 0; rows < hlist.Count; rows++) //Create rows for the number of hyperlinks, so i will always have a spare row. { TableRow row = new TableRow(); // Create the new rows
for (int rows = 0; rows < hlist.Count; rows++) //Create rows for the number of hyperlinks, so i will always have a spare row.
{
TableRow row = new TableRow(); // Create the new rows
table.Rows.Add(row); //Add rows to the table
for (int cells = 0; cells < 2; cells++)
{
TableCell cell = new TableCell();
for(int h = 0; h < hlist.Count; h++)
cell.Controls.Add(hlist[h]);
row.Cells.Add(cell);
}
}
for(int rows=0;rows
所有这些只是在一个单列表中列出我的所有超链接,每个超链接都有一个新行
任何帮助都将不胜感激
谢谢假设要创建一个每行显示两个超链接的表,可以尝试以下代码:
for (int i = 0; i < hlist.Count; i += 2)
{
TableRow row = new TableRow(); // Create the new rows
table.Rows.Add(row);
for (int j = i; j < Math.Min(i + 2, hlist.Count); j++)
{
TableCell cell = new TableCell();
cell.Controls.Add(hlist[j]);
row.Controls.Add(cell);
}
}
for(int i=0;i
但是,如果您希望在ASP.NET中使用动态添加的控件对事件作出反应,那么在ASP.NET中使用这些控件是很复杂的。所以我建议你检查一下你是否可以改变你的方法,这样你就可以用一个新的方法来代替。为此,您首先必须更改数据模型,例如更改为包含两个URL的配对对象列表,例如:
public void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
IEnumerable<Uri> uris = GetUris();
List<Tuple<Uri, Uri>> pairs = new List<Tuple<Uri, Uri>>();
for (int i = 0; i < uris.Count; i += 2)
{
var uri1 = uris[i];
var uri2 = i + 1 < uris.Count ? uris[i + 1] : null;
pairs.Add(new Tuple<Uri, Uri>(uri1, uri2));
}
rpt.DataSource = pairs;
rpt.DataBind();
}
}
public void页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
IEnumerable uris=GetUris();
列表对=新列表();
对于(int i=0;i
如果您的URL与Uri不兼容(可能它们包含前导~),您也可以使用字符串而不是Uri
中继器的标记类似于以下内容:
<asp:Repeater ID="rpt" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:HyperLink runat="server" Text="Link 1"
NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "Item1") %>' />
</td>
<td>
<asp:HyperLink runat="server" Text="Link 1"
NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "Item2") %>' />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
您能否更具体地说明您希望结果如何?举个例子会很有帮助。什么类型的hlist
?这太棒了,这是一种享受,谢谢你的帮助!