<asp:HyperLinkColumn HeaderText="Code" DataTextField="Code" NavigateUrl="<% = Url %>">
<HeaderStyle ForeColor="White" BackColor="#4A3C8C"></HeaderStyle>
</asp:HyperLinkColumn>
Url是我在后台cs文件中定义的一个public变量,根据不同的条件,使链接跳转的不同的页面,但是我这样写好像不对,有没有什么办法解决?

解决方案 »

  1.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
    {
    ((HyperLink)e.Item.Cells[HyperLinkColumn的那个列的索引号].Controls[0]).NavigateUrl="随便什么";
    }
    }
      

  2.   

    to LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)((HyperLink)e.Item.Cells[HyperLinkColumn的那个列的索引号].Controls[0]).NavigateUrl="随便什么";
    怎么只能使用NavigateUrl属性,不能使用DataNavigateUrlFormatString?
      

  3.   

    为什么你不用linkbutton呢?在linkbutton上加个onclick事件啊!
      

  4.   

    <asp:HyperLinkColumn HeaderText="Code" DataTextField="Code" NavigateUrl='<%# Url %>'>
    <HeaderStyle ForeColor="White" BackColor="#4A3C8C"></HeaderStyle>
    </asp:HyperLinkColumn>这样写看看
      

  5.   

    to  lililifrank(刘刘) 不对的
      

  6.   

    你应该这样:<ItemTemplate>
    <asp:HyperLink id="btn1" Runat="server"></asp:HyperLink>
      </ItemTemplate>然后在cs里这样:HyperLink btn2 = (HyperLink)(e.Item.FindControl("btn1"));
                    btn2.NavigateUrl =“”;