DropDownList TextValue является первым в списке - PullRequest
0 голосов
/ 05 февраля 2012

Я новичок, когда дело доходит до asp.net, так что я благодарен за любую помощь.

У меня есть простой выпадающий список с привязкой к данным, с управлением просмотром деталей.Я могу выбрать значение из списка, нажать «Обновить», и правильное значение будет записано в базу данных.Проблема в том, что элемент управления автоматически «сбрасывается» для отображения 1-го значения в списке.Это может сбить с толку пользователя и заставить его думать, что он выбрал 1-е значение до обновления.

Единственный код с выделенным кодом в отношении этого выпадающего списка можно найти в методе ItemUpdating деталейпросмотреть управление следующим образом:

DropDownList ddlLoc = (DropDownList)dvYourProfile.FindControl("ddlLocation");
e.NewValues["PreferredLocation"] = ddlLoc.SelectedValue;

А вот код формы страницы aspx

<asp:TemplateField HeaderText="Preferred Location"         
    SortExpression="PreferredLocation">        
    <ItemTemplate>        
        <asp:DropDownList Text='<%# Bind("PreferredLocation") %>' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />        
    </ItemTemplate>    
    <EditItemTemplate>    
        <asp:DropDownList DataValueField='PreferredLocation' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />    
    </EditItemTemplate>    
    <InsertItemTemplate>    
        <asp:DropDownList DataValueField='PreferredLocation' DataSourceID="dsStaticDate" ID="ddlLocation" runat="server" />    
    </InsertItemTemplate>
</asp:TemplateField>

<asp:SqlDataSource ID="dsStaticDate" runat="server" ConnectionString="<%$ ConnectionStrings:ApplicationServices %>"
    SelectCommand="SELECT * FROM StaticData" />

1 Ответ

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

Вам необходимо связать форму кода позади.Стандартное поведение привязки на странице aspx с SqlDataSource не позволяет остановить повторное связывание DropDownList после возникновения события.

...