我有一个数据网格,列出了产品及其市场份额 - (dgProd)。该数据网格在DIV中以提供滚动。
单击其中一个产品名称会显示另外两个div / datagrid组合 - 一个包含摘要(dgSummary),另一个包含详细记录(dgDetail)。
dgProd的回发为dgSummary和dgDetail提供了解要显示的产品的信息。但是回发失去了dgProd中的位置。
我已经尝试将dgSummary和dgDetail放入UpdatePanels,但我仍然得到完整的回发。我考虑更改产品名称LinkButton来运行一些javascript而不是传统的回发,但后来我没有看到服务器如何在其他2个网格中显示相应的产品。
有什么建议吗?
答案 0 :(得分:1)
你可以用jQuery做到这一点。
创建一个新的ASP页面,其中包含您的产品详细信息和产品摘要
在新的ASp页面中,将摘要网格加载到ID =“摘要”的Div中,将详细信息加载到ID =“详细信息”的Div中
然后,使用jQuery.ajax()调用您的新页面;调用..
然后,您可以使用#Summary或#Detail方法将每个“content”div加载到主页面中的占位符div ...
This是一篇很好的文章,可以帮助您入门并展示部分加载远程内容..
HTH。 戴夫
答案 1 :(得分:1)
您需要在UpdatePanel中将每个LinkButton注册为AsyncPostBackTrigger。在DataGrid中绑定每个项目之后,您需要搜索LinkButton并通过代码注册它,如下所示:
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);
}
}