Gridview正在消失
本文关键字:消失 Gridview | 更新日期: 2023-09-27 18:17:22
我正在创建一个允许使用ASP.NET编辑数据库表的web应用程序。
我已经得到了应用程序中的所有功能,并且一切都运行良好。然而,现在的规范已经改变,我需要有多个gridview的显示不同的数据库表。因此,我已经实现了jquery和一个下拉菜单,它将只显示某些div的值取决于下拉菜单中选择的值。
这很好,我只显示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>
在。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是可见的,哪些是不可见的,甚至在回发之后。