【问题标题】:Gridview Disappearing jQuery ASP.NETGridview 消失 jQuery ASP.NET
【发布时间】:2015-10-13 12:50:20
【问题描述】:

我正在创建一个允许使用 ASP.NET 编辑数据库表的 Web 应用程序。

我拥有应用程序中的所有功能,并且一切正常。但是,现在规范已经改变,我需要多个 gridview 来显示不同的数据库表。所以,我实现了 jquery 和一个下拉菜单,它只会根据下拉菜单中选择的值显示某些 div。

这很好,我只根据我选择的值显示我想要的网格视图。虽然,当试图编辑 gridview 时,gridview 消失了;这只发生在实现 jquery 之后。

当我在下拉菜单中选择不同的选项然后选择我想要的选项时,我可以再次显示网格视图。

这很奇怪,因为编辑按钮不应该影响我在下拉菜单中选择的值。

有人可以帮忙吗?

jQuery:

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

【问题讨论】:

  • 每次你编辑一个gridviews,你的整个页面。每次重新加载页面时,您的 jQuery 都会隐藏所有表格。将选定的网格视图存储在 javascript 中的 cookie 中。或者将显示/隐藏逻辑放在 c# 中的代码隐藏页面中。
  • @OlivierDeMeulder 如果我在默认页面上使用 iframe 并且 iframe 仅显示单独的页面,这是否也有效?我唯一不喜欢的是每个表都有不同的页面。
  • 在这种情况下我可能不会使用 iframe。
  • 你已经为每个 ddl 分配了类组,因此效果。检查 alert($(this).val()) 中的内容,ID 是否来了

标签: javascript c# jquery asp.net gridview


【解决方案1】:

在 .NET / C# 中做所有事情可能比在 ASP.NET / jQuery 混合中更容易。将下拉列表变成服务器控件并定义 OnSelectedIndexChanged。 (不要忘记将 Autopostback 设置为 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 可见和不可见,即使在回发之后也是如此。

【讨论】:

  • 感谢您的回答。回到办公室后,我会尝试这种方法。它似乎比我的 iframe 和多种不同的 Web 表单解决方案更易于维护。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-29
相关资源
最近更新 更多