意图:当这篇文章为当前用户所发,则显示编辑字样<%# if (DataBinder.Eval(Container.DataItem,"UserName").ToString() == Request.Cookies["UserName"].Value){%>'>
<a href='edit.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'>编辑</a>
<%}%>运行报错,if语句这里应该怎么写?

解决方案 »

  1.   

    在repeater的
    OnItemDataBound="aaa"里写啊。
    <script language=vb runat=server>
    sub aaa(sender as Object,e as RepeaterItemEventArgs)
       if e.item.dataitem("UserName") = Request.Cookies["UserName"].Value then
          CType(e.item.findControls("bj"),hyperlink).visible=true
          CType(e.item.findControls("bj"),hyperlink).NavigateUrl="edit.aspx?id=" & e.item.dataitem("id")
       end if
    end sub
    </script>
    <asp:HyperLink Visible="false" ID="bj" Text="编辑" runat="server"/>
    不知道是否可以呢!!
      

  2.   

    findControls多了一个S应该是findControl
      

  3.   

    太麻烦了.难道直接写在<%%>里就没有方法可解决了吗?
      

  4.   

    public string EditLink(string username,string id)
    {
    string linkstring="";
    if (username==Request.Cookies["UserName"].Value)
    {
    linkstring="<a href=\"edit.aspx?id="+id+"\">编辑</a>";
    }
    else
    {
    linkstring="";
    }
    }
    要显示的地方
    <%# EditLink(DataBinder.Eval(Container.DataItem,"UserName").ToString(),DataBinder.Eval(Container.DataItem,"id").ToString() %>
      

  5.   

    <%if (DataBinder.Eval(Container.DataItem,"UserName").ToString() == Request.Cookies["UserName"].Value){%>
    <a href='edit.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id")%>'>编辑</a>
    <%}%>
      

  6.   

    <%#DataBinder.Eval(Container.DataItem,"UserName").ToString() == Request.Cookies["UserName"].Value?".......":"..........."%>
      

  7.   

    我的代码有问题
    你看一下这里吧
    http://blog.csdn.net/Afritxia/archive/2004/10/22/146936.aspx
      

  8.   

    srz007的写法明显错误,不带#,Container就绑定不了值swzlxm的写法没看懂 :[
      

  9.   

    急寻.net项目合作人,福州市的程序员联系我吧 [email protected] 0591-13055291676