前台代码
<div class="area-list">
         <ul class="menu">
                <asp:Repeater ID="Repeater1" runat="server" 
                    onitemdatabound="Repeater1_ItemDataBound">
                    <ItemTemplate>
                        <li>
                            
                            <a href="#"><%#Eval("FoodType") %></a>
                            <ul class="menu-in">
                                <asp:Repeater ID="Repeater2" runat="server">
                                    <ItemTemplate>
                                    <li> 
                                        <asp:LinkButton ID="FoodtypeID" runat="server"><%#Eval("FoodType") %></asp:LinkButton>
                                    <!--<a id="<%#Eval("FoodTypeID") %>" href="javascript: void(0);" onclick="dd('<%#Eval("FoodTypeID") %>')"><%#Eval("FoodType") %></a>-->
                                    </li>
                                    </ItemTemplate>
                                </asp:Repeater>
                            </ul>
                        </li>
                    </ItemTemplate>
                </asp:Repeater>
            </ul>
            
        </div>
后台
 protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!IsPostBack)
        {
            BindGrid();
            
        }
    }    private void BindGrid()
    {
        string connString = ConfigurationManager.ConnectionStrings["sqlconnectionstring"].ConnectionString;
        SqlConnection conn = new SqlConnection(connString);
        
        string sql = "Select * From tb_FoodType where FoodTypeUp=0";
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, "Table1");        DataTable dt = ds.Tables["Table1"];
        Repeater1.DataSource = ds;
        Repeater1.DataBind();    }
    
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            Repeater rep = e.Item.FindControl("Repeater2") as Repeater;
            DataRowView rowv = (DataRowView)e.Item.DataItem;
            int typeid = Convert.ToInt32(rowv["FoodTypeID"]);
            string sql2 = "select * from tb_FoodType where FoodTypeUp='" + typeid + "'";
            DataSet ds2 = GetDs(sql2, "Table1");
            rep.DataSource = ds2.Tables["Table1"];
            rep.DataBind();
        }
    }
   
    public DataSet GetDs(string sql, string table)
    {
        string connString = ConfigurationManager.ConnectionStrings["sqlconnectionstring"].ConnectionString;
        SqlConnection conn = new SqlConnection(connString);
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        ds.Clear();
        da.Fill(ds, table);
        return ds;
    }

解决方案 »

  1.   

    <asp:LinkButton ID="FoodtypeID" runat="server" onclick="xxxx">
      

  2.   

    <asp:LinkButton ID="FoodtypeID" runat="server" OnClick="FoodtypeID_Click"><%#Eval("FoodType") %></asp:LinkButton>
      protected void FoodtypeID_Click(object sender, EventArgs e)
      {
        Response.Write("x");
      }
      

  3.   

    那可以顺便回答下我怎么在后台获取linkbutton的值么?
    <asp:LinkButton ID="FoodtypeID" runat="server" Text='<%#Eval("FoodType") %>' onclick="FoodtypeID_Click"><%#Eval("FoodType") %></asp:LinkButton>
    后台:
    protected void FoodtypeID_Click(object sender, EventArgs e)
        {
            LinkButton linkID = sender as LinkButton;
            string a = this.FoodtypeID.text;
            
        }
    一直显示
    不包含“FoodtypeID”的定义,并且找不到可接受类型为“OrderFood”的第一个参数的扩展方法“FoodtypeID”(是否缺少 using 指令或程序集引用?)
      

  4.   

    protected void FoodtypeID_Click(object sender, EventArgs e)
       {
       LinkButton linkID = sender as LinkButton;
       string a = linkID.Text;     
      }
    其实你完全可以自定义一个Attribute来实现,如:
    <asp:LinkButton ID="FoodtypeID" runat="server" Text='编辑' CustomerAttribute='<%#Eval("FoodType") %>' onclick="FoodtypeID_Click"><%#Eval("FoodType") %></asp:LinkButton>
    后台代码为:protected void FoodtypeID_Click(object sender, EventArgs e)
       {
       LinkButton linkID = sender as LinkButton;
       string a = linkID.Attributes["CustomerAttribute"];     
      }
      

  5.   

    本帖最后由 net_lover 于 2012-03-08 09:14:52 编辑
      

  6.   

    <asp:LinkButton ID="FoodtypeID" runat="server" OnClick="FoodtypeID_Click" CommandArgument='<%#Eval("FoodType")%>'><%#Eval("FoodType")%></asp:LinkButton>  protected void FoodtypeID_Click(object sender, EventArgs e)
      {
        LinkButton linkID = sender as LinkButton;
        string a = linkID.CommandArgument;
        Response.Write(a);
        //或者 a = linkID.Text
      }