整页正在加载

时间:2013-01-29 09:43:18

标签: asp.net gridview pageload expression-web

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

现在,我想做的是。我只想加载gridview所在的区域。示例:如果单击“个人信息”按钮,PersonalInfo_Gridview将显示在该区域中,然后当我单击“移动信息”按钮时,PersonalInfo_Gridview将替换为MobileInfo_Gridview而不加载整个页面。

这是我的3个菜单的截图: enter image description here

我该怎么做?我正在使用Microsoft Expression Web,ASP.NET请帮忙。

2 个答案:

答案 0 :(得分:4)

您应该使用UpdatePanel来更新数据。

  

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

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

参考:Understanding ASP.NET UpdatePanel Triggers

答案 1 :(得分: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
    }