前台代码
<asp:Repeater ID="rpt_list" runat="server" OnItemDataBound="rpt_list_ItemDataBound">
<ItemTemplate>
<tr bgcolor="#FFF0F5">
<td align="center" id="td_mc" runat="server">
</td>
<td width="20%" height="33" rowspan="1" align="center">
<asp:TextBox Width="50px" ID="tbx_num" runat="server" Text="0"></asp:TextBox>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>现在需要在td_mc 中动态生成多个dropdownlist protected void Page_Load(object sender, EventArgs e)
{
BindInfo(orderid);
} protected void BindInfo(string OrderID)
{
rpt_list.DataSource = dt;
rpt_list.DataBind();
}
protected void rpt_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//在此实现动态生成drp
DropDownList[] drp = new DropDownList[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
drp[i] = new DropDownList();
drp[i].ID = "drp_mc_" + i.ToString();
drp[i].Items.Add(new ListItem(dt.Rows[i]["SendName"].ToString(), dt.Rows[i]["SendDh"].ToString()));
td_mc.Controls.Add(drp[i]);
}
}数据加载目前都没有问题,页面上repeater中有textbox需要输入数量 ,点击页面中按钮来遍历textbox中的数量就不对了,我知道要在page_load中加IsPostBack,但问题是加上IsPostBack后,动态生成的dropdownList就没了。
。
<asp:Repeater ID="rpt_list" runat="server" OnItemDataBound="rpt_list_ItemDataBound">
<ItemTemplate>
<tr bgcolor="#FFF0F5">
<td align="center" id="td_mc" runat="server">
</td>
<td width="20%" height="33" rowspan="1" align="center">
<asp:TextBox Width="50px" ID="tbx_num" runat="server" Text="0"></asp:TextBox>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>现在需要在td_mc 中动态生成多个dropdownlist protected void Page_Load(object sender, EventArgs e)
{
BindInfo(orderid);
} protected void BindInfo(string OrderID)
{
rpt_list.DataSource = dt;
rpt_list.DataBind();
}
protected void rpt_list_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
//在此实现动态生成drp
DropDownList[] drp = new DropDownList[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
drp[i] = new DropDownList();
drp[i].ID = "drp_mc_" + i.ToString();
drp[i].Items.Add(new ListItem(dt.Rows[i]["SendName"].ToString(), dt.Rows[i]["SendDh"].ToString()));
td_mc.Controls.Add(drp[i]);
}
}数据加载目前都没有问题,页面上repeater中有textbox需要输入数量 ,点击页面中按钮来遍历textbox中的数量就不对了,我知道要在page_load中加IsPostBack,但问题是加上IsPostBack后,动态生成的dropdownList就没了。
。
{
//在此实现动态生成drp
DropDownList[] drp = new DropDownList[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
drp[i] = new DropDownList();
drp[i].ID = "drp_mc_" + i.ToString();
drp[i].Items.Add(new ListItem(dt.Rows[i]["SendName"].ToString(), dt.Rows[i]["SendDh"].ToString()));
}
td_mc.Controls.Add(drp[i]); //放这里
}放在循环外试试
也很不错 防丢失
感觉 老曹对linq偏执 P哥对blend类的程序设计偏执
我去年搞wp7 blend把我搞疯了