怎么改变超级链接列自动加上的域名?比如说如下的一个页面:http://test.e-works.net.cn/ewk_manage.aspx上有一个datagrid控件,有一个超级链接列绑定了数据源的字段htmlurl,假设htmurl="/Articles/456/Article35323.htm",那么超级链接列的域名就会变成:http://www.test.net.cn/Articles/456/Article35323.htm,我现在不想达到这种效果,而是想让超级链接列的域名变成:http://articles.e-works.net.cn/Articles/456/Article35323.htm,不知道怎样才能做到?是否不用超级链接列能做到?请高手指点,

解决方案 »

  1.   

    htmurl=http://articles.e-works.net.cn/Articles/456/Article35323.htm
      

  2.   

    放到模板列里 <asp:TemplateColumn HeaderText=".." FooterText="..">
    <HeaderStyle Width="50px"></HeaderStyle>
    <ItemStyle HorizontalAlign="Center" Width="50px"></ItemStyle>
    <ItemTemplate>
    ...........
    </ItemTemplate>
    </asp:TemplateColumn>然后在绑定事件里用
    e.Item.FindControl("控件id")找到控件再赋给一个相同控件的对象比如:你用的HyperLink控件,id="hl1"在绑定事件里Dim objhl1 as HyperLink = e.Item.FindControl("hl1")If Not objhl1 Is Nothing Then
           ....................
    end if
      

  3.   

    谢谢回复!问题已经解决,用模板列,在模板列里加HyperLink控件,然后在datagrid的ItemCreated事件中如下写
    private void DataGrid1_ItemCreated_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if (e.Item.ItemIndex!=-1)
    {
    DataRowView drv=(DataRowView)e.Item.DataItem;
    if (drv!=null)
    {
    //
    infoEdit ifEdit=new infoEdit();
    DataTable dt=ifEdit.SelectArticlesByTpc(topic_id);
    HyperLink Hl=(HyperLink)e.Item.Cells[11].FindControl("HyperLink1");
    string url=drv["HtmlUrl"].ToString();
    if(url.IndexOf("http://")==-1)
        Hl.NavigateUrl="http://articles.e-works.net.cn"+url;
    else Hl.NavigateUrl=url;
    Hl.Target="_blank";

    }
    }
    }