2011-06-02 69 views
1

我有一个数据网格,其中列出了产品及其市场份额 - (dgProd)。该数据网格位于DIV中以提供滚动。在DataGrid中的LinkBut​​ton,触发多个UpdatePanels

点击其中一个产品名称会显示另外两个div/datagrid组合 - 其中一个带有摘要(dgSummary),另一个带有详细记录(dgDetail)。

dgProd的回发为dgSummary和dgDetail提供了知道要显示的产品的信息。但回传失去了dgProd中的位置。

我已经尝试将dgSummary和dgDetail放入UpdatePanels,但我仍然收到完整的回发。我考虑改变产品名称LinkBut​​ton来运行一些JavaScript而不是传统的回发,但是我没有看到服务器如何获得适当的产品在其他2个网格中显示。

有什么建议吗?

回答

1

你可以用jQuery做到这一点。

创建一个新的ASP页包含您的产品细节,产品概述

在新的ASP页面,加载摘要电网进入一个div id为“摘要”,加载细节都融入一个div ID = “细节”

然后,用jQuery.ajax()调用你的新页面;叫..

可以那么每个“内容”的div加载到占位符的div中使用#Summary,或#Detail方法你的主页......

This是一个很好的文章,让你开始并确实展示了远程内容的部分加载。

HTH。 Dave

+0

我投了这两个,因为每过什么,我终于实现了一个元素。 – 2011-07-19 19:28:33

1

您需要在UpdatePanel中将每个LinkBut​​ton注册为AsyncPostBackTrigger。每个项目在DataGrid中绑定后,你需要搜索的LinkBut​​ton并将其注册通过代码如下:

private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { 
     LinkButton lb = (LinkButton)e.Item.FindControl("myLinkButton"); 
     ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(lb); 
    } 
} 
+0

我投这两个,因为每个都有我最终做的一个元素。 – 2011-07-19 19:28:14

相关问题