将URL重写为更有意义的URL - C#

时间:2013-05-16 08:27:45

标签: c# asp.net

我从以下SQL表中提取了一些URL,其中包含以下列:

  • 名称 - 包含网站名称
  • 网址 - 包含网站的网址

然后我生成动态HyperLink并将它们附加到gridview列:

protected void grdReport_Bnd(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Cells[1].Visible = false;
        e.Row.Cells[2].Visible = false;


        string qry = e.Row.Cells[2].Text;   // Pulling the URL
        string username = (string)Session[Constants.AssociateID];  // Pulling associate ID frpm session.
        string qry1 = qry + "?ID=" + username;   // Passing the associate ID to the URL
        string txt = e.Row.Cells[1].Text.ToString();   // Pulling the text to display on hyperlink.

        HyperLink lnk = new HyperLink();
        lnk.Text = txt;
        lnk.NavigateUrl = qry1;
        lnk.Attributes.Add("Border", "0");
        lnk.Attributes.Add("Target", "_blank");
        e.Row.Cells[3].Controls.Add(lnk);
    }
}

现在我需要隐藏这个结果URL。例如,超链接上的URL可能是:http://1.20.40.40:8050/?ID=123456,应显示为http://mysite.com/ABC,其中abc是来自超链接的文本,mysite.com是此超链接获取的网站显示。

我见过各种例子,但无法理解。

1 个答案:

答案 0 :(得分:0)

我发现在这种情况下,简单的重写不起作用。因此,我现在在一个解决方案下添加了不同的项目。