ASP.NET GridView DropDownList сообщений пустое значение - PullRequest
0 голосов
/ 23 февраля 2012

У меня проблемы с DropDownList в GridView, который отправляет значение NULL, когда на самом деле значение выбирается из списка при использовании встроенного редактирования.

Проблема в том, что я не могу использовать этометод для привязки значения к UpdateCommand в моем SqlDataSource:

SelectedValue = '<% # Bind ("Value")%>'

Причина этого в том, что значение может не существоватьв списке, поэтому он выдает исключение.

Есть ли способ связать значение с UpdateCommand без использования SelectedValue?

Спасибо заранее.

1 Ответ

0 голосов
/ 23 февраля 2012

Вы можете использовать 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...