Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 单击gridview中的链接按钮不会在detailsview中显示详细信息_C#_Asp.net_Sql Server_Gridview - Fatal编程技术网

C# 单击gridview中的链接按钮不会在detailsview中显示详细信息

C# 单击gridview中的链接按钮不会在detailsview中显示详细信息,c#,asp.net,sql-server,gridview,C#,Asp.net,Sql Server,Gridview,我有一个网格视图和一个详细视图。在该网格视图中,我在第一列中有一个链接按钮列。单击“链接按钮”列时,它必须在“详细信息”视图中显示相应的行值。我对详细信息视图和网格视图使用单独的数据源 这是栅格视图代码: <asp:GridView ID="GridView2" runat="server" DataSourceID="SqlDataSourcegridview" Height="533px" Width="316px" style="text-align: left"

我有一个网格视图和一个详细视图。在该网格视图中,我在第一列中有一个链接按钮列。单击“链接按钮”列时,它必须在“详细信息”视图中显示相应的行值。我对详细信息视图和网格视图使用单独的数据源

这是栅格视图代码:

<asp:GridView ID="GridView2" runat="server" 
    DataSourceID="SqlDataSourcegridview" Height="533px" Width="316px" 
    style="text-align: left" EnableCallBack="false" 
    AutoGenerateColumns="False" > 
    <Columns>
        <asp:TemplateField ShowHeader="false">
            <HeaderTemplate>    
                <asp:Label ID="lbl1" runat="server" Text="DCN"></asp:Label>
            </HeaderTemplate>

            <ItemTemplate>
            <asp:LinkButton ID="lnkname" runat="server" SortExpression="DCN"
                            Text='<%#Eval("DCN") %>' CausesValidation="false"
                            CommandName='<%#Eval("DCN")%>' OnClick = "Link_buttonClick">
                   linkbutton
            </asp:LinkButton>

            </ItemTemplate>
        </asp:TemplateField>                               
        <asp:BoundField DataField="priority" HeaderText="priority" 
                        SortExpression="priority" />
   </Columns>
</asp:GridView>
我无法在此处将数据导入详细信息视图。当我单击第一列中的任何单元格时,它将在面板中显示详细信息视图


如何获取详细信息视图以显示单击行中的数据?

实现主详细信息关系的简单方法是添加
DataKeyNames=“DCN”
(与您的案例相关)到第一个GridView,并将其作为详细信息表单中的参数引用:请参见此处的示例:

您在哪里设置详细信息视图的数据源?我已将sqldatasource的数据源id提供给detailsview数据源Ideyah,好的,但您很好,对吗?您在哪里加载与行相关的数据源?为什么不使用OnClick而不是OnClick?这样,您就可以从单击的行中获取id。尝试一下,您会感到惊讶。
<asp:SqlDataSource ID="SqlDataSourcegridview" runat="server" 
                   ConnectionString="<%$ ConnectionStrings:ConnectDBString %>" 
                   SelectCommand="SELECT * FROM [MASTERETMTABLE] WHERE ([DCN] = @DCN)">
     <SelectParameters>
         <asp:Parameter DefaultValue="BAT" Name="DCN" Type="String" />
     </SelectParameters>
 </asp:SqlDataSource>
<asp:Panel ID="paneldetails" runat="server" BackColor="#CCCCCC" 
           Visible="False" >
    <asp:DetailsView ID="detailsvw" runat="server" AutoGenerateRows="False" 
                     DataSourceID="SqlDataSourcedetailsview" Width="424px"> 
         <Fields>
             <asp:BoundField DataField="DCN" HeaderText="DCN" SortExpression="DCN" />
             <asp:BoundField DataField="PRIORITY" HeaderText="PRIORITY" 
                             SortExpression="PRIORITY" />
         </Fields
    </asp:DetailsView>
</asp:Panel>
<asp:SqlDataSource ID="SqlDataSourcedetailsview" runat="server" 
                   ConnectionString="<%$ ConnectionStrings:ConnectDBString %>" 
                   SelectCommand="SELECT * FROM [MASTERETMTABLE] WHERE ([DCN] = @DCN)">
    <SelectParameters>
        <asp:ControlParameter Name="DCN" ControlID="GridView2"/>
    </SelectParameters>
</asp:SqlDataSource>
protected void Link_buttonClick(object sender, EventArgs e)
{
    paneldetails.Visible = true;
    detailsvw.Visible = true;
    // do I need to add any thing at here
}