更新更新面板需要两次单击按钮

时间:2013-06-06 23:49:17

标签: c# asp.net gridview updatepanel

如果有人问我有道歉,但我似乎无法找到问题的正确答案。

我有一个按钮,用于更新更新面板内的gridview。更新面板内部还有3个标签。标签用于错误。如果单击一个按钮并将数据添加到应添加到gridview的数据库中,我看不到它。但是,如果再次单击该按钮,其中一个错误标签会显示数据已存在,然后我会在gridview中看到新数据。我实际上有几个更新面板,相同的按钮点击更新,在我有下拉菜单,同样的事情发生,它需要两次点击。更新面板如下所示:

<asp:UpdatePanel ID="upSloPitchLeague" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:GridView ID="gvLeague" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteButton="True" CellPadding="5" DataKeyNames="leagueID">
                                    <Columns>
                                        <asp:BoundField DataField="leagueDay" HeaderText="Day" />
                                        <asp:BoundField DataField="leagueType" HeaderText="Type" />
                                    </Columns>
                                </asp:GridView>
                                <br />
                                <asp:Label ID="lblDayError" runat="server" ForeColor="Red" Visible="False"></asp:Label>
                                <br />
                                <asp:Label ID="lblTypeError" runat="server" ForeColor="Red" Visible="False"></asp:Label>
                                <br />
                                <asp:Label ID="lblDBError" runat="server" ForeColor="Red" Visible="False"></asp:Label>
                            </ContentTemplate>
                            <Triggers>
                                <asp:AsyncPostBackTrigger ControlID="btnAddLeague" EventName="Click" />
                            </Triggers>
                        </asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

此问题的原始答案已删除,因为它是JS Bin的仅链接答案。仅供参考:jsbin [dot] com / nanuvihune / 1 / edit

这是我删除时编辑的版本:

$("#autocomplete").kendoAutoComplete({
  dataTextField: "Name",
  dataSource: [{
      id: 1,
      Name: "Apples"
    },
    {
      id: 2,
      Name: "Oranges"
    },
    {
      id: 3,
      Name: "Carrots"
    }
  ],
  select: function(e) {
    var dataItem = this.dataItem(e.item.index());
    alert(dataItem.id);
  }
});
var autocomplete = $("#autocomplete").data("kendoAutoComplete");
<link href="https://kendo.cdn.telerik.com/2014.1.416/styles/kendo.common.min.css" rel="stylesheet" />
<link href="https://kendo.cdn.telerik.com/2014.1.416/styles/kendo.default.min.css" rel="stylesheet" />
<link href="https://kendo.cdn.telerik.com/2014.1.416/styles/kendo.mobile.all.min.css" rel="stylesheet" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://kendo.cdn.telerik.com/2014.1.416/js/kendo.all.min.js"></script>

<input id="autocomplete" />