我正在使用填充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不显示! }
答案 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(); }
不太确定它是如何工作的,但确实如此。