ASP.NET在Datagrid行中显示/隐藏节

ASP.NET在Datagrid行中显示/隐藏节,asp.net,asp.net-ajax,datagridview,collapsiblepanelextender,Asp.net,Asp.net Ajax,Datagridview,Collapsiblepanelextender,我有一个数据网格,其中每一行都有公司员工的信息。 我希望允许每行显示/隐藏额外信息。我的第一个想法是使用AJAX工具包中的CollapsablePanelExtender,并使每一行如下所示: <ajaxtoolkit:collapsiblepanelextender TargetControlID="panel2"> ExpandControlID="LinkButton1" CollapseControlID="LinkButton1"> &l

我有一个数据网格,其中每一行都有公司员工的信息。 我希望允许每行显示/隐藏额外信息。我的第一个想法是使用AJAX工具包中的CollapsablePanelExtender,并使每一行如下所示:

<ajaxtoolkit:collapsiblepanelextender
     TargetControlID="panel2">
     ExpandControlID="LinkButton1"
     CollapseControlID="LinkButton1">
</ajaxtoolkit:collapsiblepanelextender>

<asp:panel>
    FirstName | LastName | Phone | Email
    <LinkButton1>  <- this hides/show extra info in panel2
</asp:panel>

<asp:panel2>
     <textbox ="FirstName">
     <textbox ="LastName">
     <textbox ="EmailName">
     ...
     ...lots of textboxes where information is assigned from the database.
</asp:panel2>

ExpandControlID=“LinkButton1”
CollapseControlID=“LinkButton1”>
名字|姓氏|电话|电子邮件

我用ModalPopupXtender做过类似的事情。 我有一个带有文本框和标签的面板,只有当用户按下imagebutton时才能检索信息。 在本例中,imagebutton位于GridViewRow中,用于检索数据的键位于该行的DataKeys属性中

GridViewRow row = ((GridViewRow)((ImageButton)sender).NamingContainer);
//NamingContainer return the container that the control sits in
DataKey key = ((GridView)row.NamingContainer).DataKeys[row.RowIndex];

//Retrieve data with a server method. It can be with wathever you want, I use an ArrayList
ArrayList AL=Domain.GetCustomerData(key[0].ToString());

//Fill controls with data, 
LblDate.Text = AL[0].ToString();
dLectHidro.Value = AL[1].ToString();
idLectHL.Value = AL[2].ToString();
LblEstacion.Text = HttpUtility.HtmlDecode(AL[3].ToString());
TxtLluvia.Text = HttpUtility.HtmlDecode(AL[4].ToString());
TxtLluvia1.Text = HttpUtility.HtmlDecode(AL[5].ToString());

//Show the popup
this.ModalPopupModif.Show();
希望这有帮助。
克劳迪娅

谢谢克劳迪娅,你的方式是一种更容易、更好的完成目标的方式。但我希望允许在没有弹出窗口的情况下进行编辑/查看。我使用了你的模板在每行显示/隐藏一个面板,它可以工作,但非常笨重。还有其他人有更好的主意吗?或者我最好还是使用模式弹出窗口?最后我使用了ModalPopupXtender,它简单多了,而且您可以更好地控制它。谢谢克劳迪娅的建议。