[英]DropDownList selected index change firing twice
这个很有趣。 我有一个下拉菜单,一旦选择该下拉菜单,它将运行数据调用,返回数据并在页面上填充一些标签。 这是问题所在:
如果我键入选择内容并按ENTER键,则该方法将触发一次,就好了。 如果我使用鼠标滚动到所选内容并以这种方式选择它,则会触发两次。
<asp:DropDownList ID="ddlPattern" CssClass="dropdownint" runat="server" DataTextField="Pattern" DataValueField="Pattern"
AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="ddPattern_SelectedIndexChanged" EnableViewState="true" />
后面的代码:
SqlDataAdapter sda = new SqlDataAdapter("StoredProcedure", sc);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.SelectCommand.Parameters.AddWithValue("@Pattern", Pattern.ToString());
sda.SelectCommand.Parameters.AddWithValue("@fac", this.ddfac.SelectedItem.Value);
DataSet ds = new DataSet();
sda.Fill(ds);
this.lnkInventory.Text = ds.Tables[0].Rows[0][0].ToString() + " (" + ds.Tables[1].Rows[0][0].ToString() + ")";
后面的代码还有很多,但实际上只是在填充更多标签。 我尝试了很多事情,包括设置AutoEventWireup =“ false”,并确保我在任何标签中都没有src,甚至每次都取消订阅该事件,但这些都不起作用。 而且,如果我键入选择仅触发一次,而鼠标选择则触发两次,这真的很奇怪。
我想到了。 这是由于未能正确处理的尝试捕获问题导致所选的某些项目出现重复错误。
当计划外访问显示div时,这对于我的项目而言是完美的工作
<asp:DropDownList ID="txtvisitname" AutoPostBack="true" class="txtno" AppendDataBoundItems="true"
runat="server" onchange="return selectChange()">
<asp:ListItem Text="--SELECT--" Value="0" />
<asp:ListItem Text="VISIT1" Value="VISIT1" />
<asp:ListItem Text="VISIT2" Value="VISIT2" />
<asp:ListItem Text="VISIT3" Value="VISIT3" />
<asp:ListItem Text="VISIT4" Value="VISIT4" />
<asp:ListItem Text="VISIT5" Value="VISIT5" />
<asp:ListItem Text="Unscheduled VISIT" Value="Unscheduled VISIT" />
</asp:DropDownList>
function selectChange() {
if ($("[id*=txtvisitname]").val() == "Unscheduled VISIT") {
$(".other").show();
} else {
$(".other").hide();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.