日期:2014-05-18  浏览次数:20442 次

再问gridview与detailsview关联的问题
刚才问了有关gridview与detailsview关联的问题
就是如何选定gridview的一行后在detailsview中显示这行的详细信息
我按着大家给的方法试了一下,将两个控件都绑定到同一个数据源控件,再加上如下代码。但是还有问题

<asp:SqlDataSource   ID= "SqlDataSource1 "   runat= "server "FilterExpression= "CproductName= '@CproductName ' "selectcommand= "Select   *   FROM   [product] "...>

                        <filterparameters>
                                <asp:ControlParameter   Name= "CproductName "
                                  ControlId= "GridView1 "  
                                  PropertyName= "SelectedValue "   />
                        </filterparameters>

但是在gridview中点了select之后   页面上什么都没有,请问   这是怎么回事啊?
请高手解决!

------解决方案--------------------
似乎得两个 SqlDataSource

Demo

<%@ Page Language= "C# " %>

<html>
<body>
<form id= "Form1 " runat= "server ">
<div>
<table>
<tr>
<td>
<asp:GridView ID= "GridView1 " runat= "server "
AutoGenerateColumns= "False " DataSourceID= "Customers "
DataKeyNames= "CustomerID ">
<Columns>
<asp:CommandField ShowSelectButton= "True " />
<asp:BoundField DataField= "ContactName " HeaderText= "ContactName " />
<asp:BoundField DataField= "CompanyName " HeaderText= "CompanyName " />
</Columns>
</asp:GridView>
</td>
<td valign= "top ">
<asp:DetailsView ID= "DetailsView1 " runat= "server "
AutoGenerateRows= "True " DataKeyNames= "CustomerID "
DataSourceID= "Details " Height= "50px " Width= "301px ">
</asp:DetailsView>
</td>
</tr>
</table>
&nbsp;&nbsp;
<asp:SqlDataSource ID= "Details " runat= "server "
ConnectionString= "server=.;database=Northwind;uid=sa;pwd= "
SelectCommand= "SELECT * FROM [Customers] WHERE ([CustomerID] = @CustomerID) ">
<SelectParameters>
<asp:ControlParameter ControlID= "GridView1 " Name= "CustomerID "
PropertyName= "SelectedValue "
Type= "String " />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID= "Customers " runat= "server "
ConnectionString= "server=.;database=Northwind;uid=sa;pwd= "
SelectCommand= "SELECT [CompanyName], [ContactName], [CustomerID] FROM [Customers] ">
</