<asp:hyperlink runat="server" NavigateUrl='<%# "_Edit_web.aspx?id=" + container.dataitem("Lid").tostring %>' ID="Hyperlink1"><%# container.dataitem("lname") %>
</asp:hyperlink>我要根据后台判断,将链接文件名更换,比如判断为1时为:“_edit_web.aspx”,判断为2时为:"add_web.aspx"我试了几种方式,都不行。送分啦

解决方案 »

  1.   

    在后天绑定的时候datagrid_DataBound :string yourcondition = "1";
    string id = e.Item.Cell[0].Text;
    hyperlink link = e.Item.FindControl("Hyperlink1") as HyperLink;
    if(link != null) {
       if(yourcondition == "1") {
            link.NavigateUrl = string.Format("{0}?id={1}","_edit_web.aspx",id);
       }else if(yourcondition == "2") {
            link.NavigateUrl = string.Format("{0}?id={1}","add_web.aspx",id);
       }else {}
    }
      

  2.   

    谢谢,我是在Repeater中嵌入hyperlink, hyperlink的数据绑定一个datatable,我用的是VB,正在用你的思路改一下看看行不行。
      

  3.   

    没成功。请原谅新手的水平,我现在的页面代码是:
    <div>
    <asp:repeater id="Repeater1" runat="server">
       <ItemTemplate>
         <asp:hyperlink runat="server"><%#container.dataitem("lname")%></asp:hyperlink><br>
       </ItemTemplate>
    </asp:repeater>
    </div>后台代码:Sub rpl( ByVal _ael As String) Select Case _ael
        Case "all"
         sql = "select * from lclassweb order by ltime desc"
         _Autable.Clear()
         _Autable = _Auconn.Newtable("t1", sql)
         Repeater1.DataSource = _Autable.DefaultView
    '*********************************************
    如何绑定repeater里的hyperlink中的NavigateUrl为"aaa.aspx?id=(_Autable中的lid字段)"
    '*********************************************
        Repeater1.DataBind()  Case "no"    sql = "select * from lclassweb where Lcheck=0 order by ltime desc"
        _Autable.Clear()
        _Autable = _Auconn.Newtable("t1", sql)
        Repeater1.DataSource = _Autable.DefaultView
    '*********************************************
    如何绑定repeater里的hyperlink中的NavigateUrl为"bbb.aspx?id=(_Autable中的lid字段)"
    '*********************************************
        Repeater1.DataBind()Case "yes"   sql = "select * from lclassweb where Lcheck=1 order by ltime desc"
       _Autable.Clear()
       _Autable = _Auconn.Newtable("t1", sql)
       Repeater1.DataSource = _Autable.DefaultView
    '*********************************************
    如何绑定repeater里的hyperlink中的NavigateUrl为"ccc.aspx?id=(_Autable中的lid字段)"
    '*********************************************
       Repeater1.DataBind()End SelectEnd Sub送分啦
      

  4.   


    后台定义一个string yourflag,根据情况设置1或2,前台代码大致如下:...
       <ItemTemplate>
         <asp:hyperlink runat="server" NavigateUrl="_edit_web.aspx"
               visible='<%=yourflag==1%>'>
             <%#container.dataitem("lname")%></asp:hyperlink>
         <asp:hyperlink runat="server" NavigateUrl="add_web.aspx"
               visible='<%=yourflag==2%>'>>
             <%#container.dataitem("lname")%></asp:hyperlink>
         <br>
       </ItemTemplate>
    ...