簡體   English   中英

Gridview消失的jQuery ASP.NET

[英]Gridview Disappearing jQuery ASP.NET

我正在創建一個Web應用程序,該應用程序將允許使用ASP.NET編輯數據庫表。

我具有應用程序中的所有功能,並且一切正常。 但是,現在規范已更改,我需要使用多個gridview來顯示不同的數據庫表。 因此,我實現了jquery和一個下拉菜單,該菜單僅顯示某些div,具體取決於在下拉菜單中選擇的值。

很好,我只顯示我想要的網格視圖,具體取決於我選擇的值。 雖然,當嘗試編輯gridview時,gridview消失了; 這僅在實現jquery之后才發生。

當我在下拉菜單中選擇其他選項,然后選擇所需的選項時,我可以再次顯示gridview。

這很糟糕,因為“編輯”按鈕不應影響我在下拉菜單上選擇的值。

有人可以幫忙嗎?

jQuery的:

<script type="text/javascript">
        $(document).ready(function () {
            $('.group').hide();
            $('#no_option_selected').show();
            $('#DropDownList1').change(function () {
                $('.group').hide();
                $('#' + $(this).val()).show();
            })
        });
</script>

在.NET / C#中執行所有操作可能比在ASP.NET / jQuery混合中執行更容易。 將您的下拉列表變成服務器控件,並定義OnSelectedIndexChanged。 (不要忘記將自動回發設置為True)

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
    OnSelectedIndexchanged="Gridview_ShowHide">
</asp:DropDownList>

然后在您的代碼后面:

public void Gridview_ShowHide(Object o, EventArgs e) 
{
    gv1.Visible = gv2.Visible = gv3.Visible = gv4.Visible = false;
    switch (DropDownList1.SelectedValue)
    {
         case 'gv1':
              gv1.Visible = True;
              break;
         case 'gv2':
              gv2.Visible = True;
              break;
         case 'gv3':
              gv3.Visible = True
              break;
         case 'gv4':
              gv4.Visible = True;
              break;
    }
}

這樣,即使在回發之后,ASP.NET的ViewState也會跟蹤哪個gridview是可見的和不可見的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM