下拉列表选定的索引更改射击两次



这个很有趣。我有一个下拉列表,一旦选择就可以运行数据调用,返回数据并在页面上填充了一些标签。这是问题:

如果我输入选择并点击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,甚至每次都没有订阅该事件,但是这些都无法使用。而且,如果我输入选择,但如果我选择鼠标,则两次。

,这确实很奇怪。

我弄清楚了。是由于尝试捕获问题无法正确处理,并在选择的某些项目上引起重复错误。

这对我的项目非常有用

 <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();
      }
 }

相关内容

  • 没有找到相关文章

最新更新