asp: DropDownList отправляет страницу при выборе ввода - PullRequest
1 голос
/ 24 ноября 2010

У меня есть страница asp.net, на которой есть панель с кнопкой по умолчанию, панель обновлений и раскрывающийся список внутри панели обновлений.Когда я заполняю форму, я выбираю элемент клавишами вверх / вниз и нажимаю ввод, чтобы выбрать его, форма отправляется.Как я могу это исправить?

РЕДАКТИРОВАТЬ Какой-то код:

<asp:SqlDataSource ID="sdsCountries" runat="server" ConnectionString="cs"
SelectCommand="SELECT CountryID, Title FROM Countries"/>

<asp:DropDownList ID="ddlCountries" runat="server" DataSourceID="sdsCountries"
DataValueField="CountryID" DataTextField="Title" AutoPostBack="True"
OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged"/>

<asp:UpdatePanel ID="upState" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:SqlDataSource ID="sdsStates" runat="server" ConnectionString="cs"
    SelectCommand="SELECT StateID, Title FROM States WHERE CountryID=@CountryID">
            <SelectParameters><asp:ControlParameter Name="CountryID"
         ControlID="ddlCountries" PropertyName="SelectedValue" DefaultValue="1"/>
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:DropDownList ID="ddlStates" runat="server" DataSourceID="sdsStates"
        DataValueField="StateID" DataTextField="Title"/>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="ddlCountries"
        EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

В раскрывающемся списке убедитесь, что для атрибута "AutoPostBack" не установлено значение "true"

РЕДАКТИРОВАТЬ: увидели ваш комментарий.Я не очень хорошо разбираюсь в панелях обновления ASP.Net, так как я обычно работаю с ajax с помощью jquery, но я считаю, что вам придется либо поместить свой выпадающий список ddlCountries на его собственную панель обновлений, либо переместить его на панель обновления состояний и установить для атрибута ChildrenAsTriggerstrue на этой панели обновлений.

1 голос
/ 24 ноября 2010

установить для AutoPostBack значение false

...