使用c#编辑转发器内的超链接

时间:2017-05-28 07:45:35

标签: c# asp.net .net

我正在尝试在Repeater控件中更改asp超链接NavigateUrl的Url。我使用以下代码从数据库中填写了我的转发器:

<。>在.cs文件中

        SqlConnection con3 = new SqlConnection("my connection");
        string strcon = "select * from companydata";
        cmd = new SqlCommand(strcon, con3);
        da = new SqlDataAdapter(cmd);
        ds = new DataSet();
        da.Fill(ds, "company");
        Repeater1.DataSource = ds;
        Repeater1.DataBind();
        con3.Close();
        con3.Dispose();

在.aspx文件<asp:Repeater ID="Repeater1" runat="server"><ItemTemplate> <asp:HyperLink ID="companyid" runat="server"><%#Eval("companyname") %></asp:HyperLink> //i need to add NavigateUrl for HyperLink using loop. </ItemTemplate></asp:Repeater>

我的输出(使用转发器)看起来像这样

  • 微软
  • 谷歌
  • 雅虎
  • 的Adobe

现在我添加一些额外的代码来填充转发器控件中的Hyperlink中的NavigateUrl

foreach (RepeaterItem item in Repeater1.Items)
        {
            HyperLink hplink = item.FindControl("companyid") as HyperLink;
            hplink.NavigateUrl = "https://www.example.com/company/"; 
        }

现在我的问题是如何在NavigateUrl中添加HyperLink的文本,例如www.example.com/company/Microsoft或www.example.com/company/Google,此处MicrosoftGoogle是链接的文字。提前谢谢,抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

您只需要使用navigateurl:

连接超链接的文本
foreach (RepeaterItem item in Repeater1.Items)
    {
        HyperLink hplink = item.FindControl("companyid") as HyperLink;
        hplink.NavigateUrl = "https://www.example.com/company/" + hplink.Text; 
    }