读书人

repeater嵌套的repeater中的linkbutto

发布时间: 2012-03-27 13:44:24 作者: rapoo

repeater嵌套的repeater中的linkbutton怎么触发事件??
前台代码
<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;
}

[解决办法]
<asp:LinkButton ID="FoodtypeID" runat="server" OnClick="FoodtypeID_Click"><%#Eval("FoodType") %></asp:LinkButton>


C# code
  protected void FoodtypeID_Click(object sender, EventArgs e)  {    Response.Write("x");  }
[解决办法]
LinkButton linkID = sender as LinkButton;
string a = linkID.Text;

没有this
[解决办法]


<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
}

读书人网 >asp.net

热点推荐