代码之家  ›  专栏  ›  技术社区  ›  HasanG Joe Dabones

asp:DropDownList提交选择输入页面

  •  1
  • HasanG Joe Dabones  · 技术社区  · 14 年前

    我有一个asp.net页面,它有一个带有默认按钮的面板,更新面板和更新面板内的dropdownlist。当我用向上/向下键选择一个项目并按回车键选择该项目时填写表单时,表单正在提交。我该怎么解决?

    编辑 一些代码:

    <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 回复  |  直到 14 年前
        1
  •  2
  •   Adrian    14 年前

    在下拉列表中,确保属性“AutoPostBack”未设置为“true”

    编辑:看到你的评论了。我不擅长使用ASP.Net更新面板,因为我通常使用jquery处理ajax,但我相信您必须将ddlCountries下拉列表放在自己的更新面板中,或者将其移到states更新面板并在该更新面板上将ChildrenAsTriggers属性设置为true。

        2
  •  1
  •   Ali Tarhini    14 年前

    将AutoPostBack设置为false