使用master / detail方法时隐藏详细信息视图

时间:2013-05-06 00:25:23

标签: c# asp.net gridview detailsview master-detail

我正在使用填充DetailsViews(主/明细方法)的GridView。当我在GridView中单击Select并显示DetailsView时,该视图在我从GridView中选择另一行后仍然显示,并显示另一个DetailsView。我的问题是:如何在同一时间只显示一个DetailsView ???

到目前为止,我有:

protected void grdMonster_SelectedIndexChanged(object sender, EventArgs e)
{
    //grdMonster is GridView and "BookTitle" is datafield and pnlBooks is panel around BookTitle  
    //DetailsView
    if (grdMonster.SelectedValue.ToString() != "BookTitle")
        pnlBooks.Visible = false;
    else
        pnlBooks.Visible = true;
} 

它不起作用! BookTitle DetailsView不显示!     }

1 个答案:

答案 0 :(得分:0)

意外修复了它。 “BookTitle”需要包含在DataKeyNames中以及以下代码(我为其他代码添加了此代码):

protected void grdMonster_SelectedIndexChanged(object sender,EventArgs e) {         string BookTitle = grdMonster.DataKeys [grdMonster.SelectedIndex] [“BookTitle”]。ToString();         sqlDV1.SelectParameters.Clear();         sqlDV1.SelectParameters.Add(“BookTitle”,BookTitle);         dtv1.DataBind(); }

不太确定它是如何工作的,但确实如此。