我有一个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>
答案 0 :(得分:2)
在下拉列表中,确保属性“AutoPostBack”未设置为“true”
编辑:看到你的评论。我不熟悉ASP.Net Update面板,因为我通常使用jquery来处理ajax,但我相信你必须将你的ddlCountries下拉列表放在它自己的更新面板中,或者将它移到状态更新面板并将ChildrenAsTriggers属性设置为在该更新面板上为true。答案 1 :(得分:1)
将AutoPostBack设置为false