今天客户有一个需求,就是根据一条数据的来源,给这条记录不同的url。
具体就是category可能是0或者1,根据0和1来制定url
上面url没有制定地址,是在后台动态指定的。问题就在于遍历这个repeater的时候,怎么获取category的值,后台可以这么写:
有一个奇怪的就是,为什么e.Item换成repeater26就无法取到值呢?
具体就是category可能是0或者1,根据0和1来制定url
<asp:Repeater ID="Repeater26" runat="server" OnItemDataBound="changeUrlForRecommendMember">
<ItemTemplate>
<li>
<asp:HyperLink ID="HyperLink4" runat="server"><%# Tools.getLeftStr((string)DataBinder.Eval(Container.DataItem, "companyName"),14,"...")%></asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
上面url没有制定地址,是在后台动态指定的。问题就在于遍历这个repeater的时候,怎么获取category的值,后台可以这么写:
protected void changeUrlForRecommendMember(object sender, RepeaterItemEventArgs e)
{
HyperLink hyperLink = (HyperLink)e.Item.FindControl("HyperLink4");
string category = ((Label)e.Item.FindControl("category")).Text;
string id = ((Label)e.Item.FindControl("id")).Text;
if("0".Equals(category))
{
hyperLink.NavigateUrl = "/bizChannel/companyDetail.aspx?id=" + id;
}else if("1".Equals(category))
{
hyperLink.NavigateUrl = "/shishiArea/companyDetail.aspx?id=" + id;
}
}
有一个奇怪的就是,为什么e.Item换成repeater26就无法取到值呢?