如何使用C#在ASpx页面中的转发器控件中获取元素Id

时间:2017-07-20 10:55:08

标签: c# asp.net

我已经对此进行了一些搜索,但我似乎无法找到与我的问题相关的任何内容,但如何在转发器控件中获取元素Id?例如,我有以下内容:

foreach (RepeaterItem item in Rpt.Items)
{
   HyperLink Url = item.FindControl("Url") as HyperLink;
   Url.NavigateUrl = link from db;
}

在我想要获取的代码后面并在上面的代码中设置超链接的Id(url),但由于某种原因,我无法访问代码,因为它无法识别。获得Id的最佳方式是什么?

在我的c#代码中,我只想像这样设置url: Url.NavigateUrl =' https://stackoverflow.com';

修改

现在它没有触及foreach循环中的代码。

{{1}}

非常感谢

2 个答案:

答案 0 :(得分:2)

您可以使用以下方式找到:

使用ItemDataBound事件:

protected void Rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {    
       HyperLink  hplUrl = (HyperLink)e.Item.FindControl("Url");
       hplUrl.NavigateUrl = 'https://stackoverflow.com'; 
    }
}

或使用所有行

foreach (RepeaterItem item in Rpt.Items)
{
   HyperLink Url = item.FindControl("Url") as HyperLink;
}

答案 1 :(得分:0)

下面的代码可以帮助您:

foreach (RepeaterItem item in Rpt.Items)
{
   HyperLink lnk = item.FindControl("Url") as HyperLink;
}