DataList,DropDownList,修改
DataList在编辑时,根据ID绑定DropDownList,然后修改
<asp:DataList ID="repList" runat="server" Width="98%"
onitemcommand="repList_ItemCommand" DataKeyField="CART_ID"
oncancelcommand="repList_CancelCommand" oneditcommand="repList_EditCommand"
onupdatecommand="repList_UpdateCommand">
<HeaderTemplate>
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0" class="cpborder">
<tr>
<td width="58%" align="center" background="../../images/index_25.jpg" height="28">商品信息</td>
<td width="18%" align="center" background="../../images/index_25.jpg">购买价格</td>
<td width="8%" align="center" background="../../images/index_25.jpg">数量</td>
<td width="16%" align="center" background="../../images/index_25.jpg">操作</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td height="90" align="center" width="58%">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="35%" rowspan="2" align="center">
<img width="46px" height="47px" class="cpborder" src="../../UpLoadPic/ProductPic/<%# Eval("PIC_SRC")%>">
</td>
<td width="65%" align="left">
<%# Eval("NAME")%>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>' Visible="False"></asp:Label>
</td>
</tr>
<tr>
<td align="left" class="qianse">
<%# Eval("SIZES")%>
<%# Eval("COLOR")%>
</td>
</tr>
</table>
</td>
<td align="center" width="18%">
<span class="redn"><strong>¥<%# Eval("PRICE")%></strong></span></td>
<td align="center" width="8%">
<%# Eval("AMOUNT")%>
</td>
<td align="center" width="16%">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit" >修改</asp:LinkButton>
<asp:LinkButton ID="lbtnDel" runat="server" CommandName="del" CommandArgument='<%# Eval("CART_ID") %>'
OnClientClick="return(confirm('确定删除该项数据吗?'))">删除</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
<EditItemTemplate>
<tr>
<td height="90" align="center" width="58%">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="35%" rowspan="2" align="center">
<img width="46px" height="47px" class="cpborder" src="../../UpLoadPic/ProductPic/<%# Eval("PIC_SRC")%>">
</td>
<td width="65%" align="left">
<%# Eval("NAME")%>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>' Visible="False"></asp:Label>
</td>
</tr>
<tr>
<td align="left" class="qianse">
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
<%# Eval("COLOR")%>
</td>
</tr>
</table>
</td>
<td align="center" width="18%">
<span class="redn"><strong>¥<%# Eval("PRICE")%></strong></span></td>
<td align="center" width="8%">
<asp:TextBox ID="txtAmout" Text='<%#Eval("AMOUNT")%>' Width="30px" runat="server"></asp:TextBox>
</td>
<td align="center" width="16%">
<asp:LinkButton ID="LinkButton1" Text="更新" CommandName="Update" runat="server"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" Text="取消" CommandName="Cancel" runat="server"></asp:LinkButton>
<asp:LinkButton ID="lbtnDel" runat="server" CommandName="del" CommandArgument='<%# Eval("CART_ID") %>'
OnClientClick="return(confirm('确定删除该项数据吗?'))">删除</asp:LinkButton>
</td>
</tr>
</EditItemTemplate>
</asp:DataList>
//取消
protected void repList_CancelCommand(object source, DataListCommandEventArgs e)
{
repList.EditItemIndex = -1;
InitRpt();//绑定数据
}
//更新
protected void repList_UpdateCommand(object source, DataListCommandEventArgs e)
{
}
//修改
protected void repList_EditCommand(object source, DataListCommandEventArgs e)
{
string ID = ((Label)e.Item.FindControl("Label1")).Text.Trim();
DataSet dr = SizeBLL.GetList(ID);//根据ID得到数据
DropDownList ddl = (DropDownList)e.Item.FindControl("DropDownList1");
ddl.DataSource = dr;
ddl.DataBind();
repList.EditItemIndex = e.Item.ItemIndex;
InitRpt();//绑定数据
}
protected void repList_EditCommand(object source, DataListCommandEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem)
{
//加上你的代码
}
}
protected void repList_EditCommand(object source, DataListCommandEventArgs e)
{
if (e.Item.ItemType == ListItemType.EditItem){
DropDownList ddl = (DropDownList)e.Item.FindControl("DropDownList1");
//加上这个,点击更新显示dropdownlist 别忘了后面加上你的绑定
lable1.visiable=false;
ddl.visiable=true;
}
}
protected void Button1_Click1(object sender, EventArgs e) {
Button bt = (Button)sender;
bt.Text = "id:" + Server.HtmlEncode(((TextBox)bt.FindControl("TextBox1")).Text);
}
[解决办法]
已经告诉你了,dr是一个空对象. 你在 SizeBLL.GetList(ID) 这里断点.啥都清楚了