ASP.NET GridView DropDownList发布空值

时间:2012-02-23 12:23:41

标签: asp.net vb.net datagridview drop-down-menu

我在使用GridView中的DropDownList时遇到问题,当使用内联编辑实际上从列表中选择了值时,会发布NULL值。

问题是我无法使用此方法将值绑定到我的SqlDataSource中的UpdateCommand:

SelectedValue ='<%#Bind(“Value”)%>'

原因是因为该值可能不存在于列表中,因此会抛出异常。

有没有办法可以在不使用SelectedValue的情况下将值绑定到UpdateCommand?

先谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用RowDataBound设置SelectedValue;

<。>在.cs文件中

protected void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
    GridView grid = (GridView)sender;
    DropDownList DropDownList1 = (e.Row.FindControl("DropDownList1") as DropDownList);
    HiddenField HiddenField1 = (e.Row.FindControl("HiddenField1") as HiddenField);
    DropDownList1.SelectedValue = HiddenField1.Value;

}
<。>在.aspx文件中;

    <Columns>

...

                <asp:TemplateField HeaderText="Column Name">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("Value") %>'></asp:Label>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Bind("Value") %>'></asp:HiddenField>
                        <asp:DropDownList ID="DropDownList1" runat="server">
                ...
                        </asp:DropDownList>
                    </EditItemTemplate>
                </asp:TemplateField>
    </Columns>