在用户控件(Upload.ascx)中,datagrid绑定一个dropdownlist。
在进行编辑时,不能取出正确的dropdownlist值;每次都是取dropdownlist的第一个值。
.ascx代码如下:
<asp:datagrid id="gridupfile" runat="server" Width="100%" BorderStyle="Groove" BackColor="White"
BorderColor="Control" AutoGenerateColumns="False">
<FooterStyle HorizontalAlign="Center" Height="28px"></FooterStyle>
<ItemStyle HorizontalAlign="Center" Height="23px"></ItemStyle>
<HeaderStyle HorizontalAlign="Center" Height="25px" BackColor="Gainsboro"></HeaderStyle>
    <Columns>
<asp:ButtonColumn DataTextField="filename" HeaderText="文件名" CommandName="Select"></asp:ButtonColumn>
<asp:BoundColumn DataField="filesuf" HeaderText="后缀"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="档案夹名称">
<HeaderTemplate>
<FONT face="宋体"></FONT>
</HeaderTemplate>
<ItemTemplate>
<asp:Label id=Label2 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id=drpTitle runat="server" DataSource="<%#BindDropList()%>" DataTextField="FileName" DataValueField="FileCode"></asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn><asp:BoundColumn Visible="False" DataField="username" HeaderText="上传人"></asp:BoundColumn>
        <asp:BoundColumn DataField="datetime" HeaderText="上传时间"></asp:BoundColumn>
        <asp:ButtonColumn Text="删除" HeaderText="删除" CommandName="Delete"></asp:ButtonColumn>
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" HeaderText="档案编辑" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
</Columns>
       <PagerStyle HorizontalAlign="Center" Mode="NumericPages"></PagerStyle>
</asp:datagrid>.cs代码:
private void gridupfile_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DropDownList drop = (DropDownList)e.Item.Cells[2].FindControl("drpTitle");
DropDownList drp1 = (DropDownList)e.Item.Cells[2].Controls[1].FindControl("drpTitle");
string FileCode = drop.SelectedItem.Text.ToString();
Response.Write(FileCode+drp1.SelectedItem.Text.ToString());

gridupfile.EditItemIndex = -1;
BindData();
}public SqlDataReader BindDropList()
{
Data d = new Data();
string SQL1 = "SELECT FileName, FileCode FROM TG_File_Type WHERE (DR = '0') AND (CreatCode = '"+p.getRequestUser+"') ";
return d.DataReader(SQL1);
}