代码之家  ›  专栏  ›  技术社区  ›  Thomas

asp:HyperLink dynamic 身份证件

  •  1
  • Thomas  · 技术社区  · 15 年前

    裁判: Dynamic Control ID

    有人有动态创建超链接的ID属性的工作示例吗?

    编辑:我用了你的例子,它确实改变了图像,但是它改变了所有ID=“HappyLink”项目,而不是选择的项目。

        // if the happy emoticon was clicked
        if (this.Request.QueryString["hyperlink"] == "HappyLink")
        {
            HyperLink happylink = e.Item.FindControl("HappyLink") as HyperLink;
    
            if (happylink != null)
            {
                happylink.ImageUrl = "~/images/happy_selected.jpg";
            } // if (happylink != null)
        } // if (this.Request.QueryString["hyperlink"] == "HappyLink")
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Graham Clark    15 年前

    我不认为你需要担心动态ID。这个 Repeater

    如果你的意思是 Hyperlink ItemDataBound 事件 中继器 . 在标记中,您给出 项数据绑定 事件处理程序,则使用 FindControl Item 对象,传递 . 这将为您提供实际的超链接控件。那就设置图像。

    例如:

    void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
       HyperLink hyperLink = e.Item.FindControl("HappyLink") as HyperLink;
       if (hyperLink != null)
       {
          // do something with the hyperlink
       }
    }
    

    find控件 e.Item 确保从中继器的右侧行获取超链接。