我有三个菜单。 “个人信息”“移动信息”“文档”每个按钮都有自己的链接/页面,显示GridView。现在,当我单击其他菜单时,浏览器会加载整个页面,导致加载其他页面的时间很长。我想改变那件事。
现在,我想做的是。我只想加载gridview所在的区域。示例:如果单击“个人信息”按钮,PersonalInfo_Gridview将显示在该区域中,然后当我单击“移动信息”按钮时,PersonalInfo_Gridview将替换为MobileInfo_Gridview而不加载整个页面。
这是我的3个菜单的截图:
我该怎么做?我正在使用Microsoft Expression Web,ASP.NET请帮忙。
答案 0 :(得分:4)
您应该使用UpdatePanel
来更新数据。
使用UpdatePanel控件,您可以启用网页 无需编写任何客户端脚本即可参与部分页面更新。 如果需要,可以添加自定义客户端脚本以增强客户端 用户体验。当您使用UpdatePanel控件时,页面 行为与浏览器无关,可能会减少数量 在客户端和服务器之间传输的数据。
了解如何设置不同的触发器以使用菜单按钮来触发udpate。
答案 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
}