0

我有三个菜单。“个人信息”“移动信息”“文档”每个按钮都有自己的链接/页面,显示 GridView。现在,当我单击另一个菜单时,浏览器会加载我的整个页面,这会导致加载另一个页面的时间很长。我想改变那件事。

现在,我想做的是。我只想加载gridview所在的区域。示例:如果我单击 Personal Info 按钮,PersonalInfo_Gridview 将出现在该区域,然后当我单击 Mobile Info 按钮时,PersonalInfo_Gridview 将替换为 MobileInfo_Gridview 而无需加载整个页面。

这是我的 3 个菜单的屏幕截图: 在此处输入图像描述

我怎样才能做到这一点?我正在使用 Microsoft Expression Web,请帮助 ASP.NET。

4

2 回答 2

4

您应该使用 anUpdatePanel来更新您的数据。

使用 UpdatePanel 控件,您可以使网页参与部分页面更新,而无需编写任何客户端脚本。如果需要,您可以添加自定义客户端脚本以增强客户端用户体验。当您使用 UpdatePanel 控件时,页面行为是独立于浏览器的,并且可能会减少客户端和服务器之间传输的数据量。

看看如何设置不同的触发器来使用菜单按钮来触发 udpate。

参考:了解 ASP.NET UpdatePanel 触发器

于 2013-01-29T09:47:14.487 回答
1

像这样:

<asp:UpdatePanel ID="updPnlTabs" runat="server" >
         <Triggers>
            <asp:PostBackTrigger ControlID="btnPersonalInfo" />
            <asp:PostBackTrigger ControlID="btnMobileInfo" />
            <asp:PostBackTrigger ControlID="btnDocuments" />
         </Triggers>
         <asp:GridView runat="server" ID="ucLAD"/>
         <asp:Button Text="Personal Info" ID="btnPersonalInfo"  runat="server" Onclick="btnPersonalInfo_Click" />
         <asp:Button Text="Mobile Info" ID="btnMobileInfo"  runat="server" Onclick="btnMobileInfo_Click" />
         <asp:Button Text="Documents" ID="btnDocuments"  runat="server" Onclick="btnDocuments_Click" />
</asp:UpdatePanel>  

现在,要更新您的 GridView,请将您的脚本放在OnClick操作或方法上,如下所示:

    protected void btnPersonalInfo_Click(object sender, EventArgs e)
    {
         // your action here to update your GridView
    }
    protected void btnMobileInfo_Click(object sender, EventArgs e)
    {
         // your action here to update your GridView
    }
    protected void btnDocuments_Click(object sender, EventArgs e)
    {
         // your action here to update your GridView
    }
于 2013-01-29T09:59:32.423 回答