-1

我有两个实例GridView和两个DataSources. 我的关系为 1:(many)。当我点击“ SELECTGridView ”时,我需要根据第一个显示数据。我需要使用 ASP.NET 但直接在标记文档(即 ASPX)上解决这个问题,而不是在后面的代码中(即 CS)。GridView

第一个GridView对象:

<asp:GridView 
     ID = "GridView1" 
     runat = "server" 
     DataKeyNames = "ID_Segment" 
     DataSourceID = "DSSegment">
     <Columns>
       ...
     </Columns>
</asp:GridView>

第一个DataSource对象:

<asp:SqlDataSource
     ID = "DSSegment"
     runat = "server" 
     ConnectionString = "<%$ ConnectionStrings:PraxeConnectionString %>"
     ... 
</asp:SqlDataSource>

第二个GridView对象:

<asp:GridView 
     ID = "GridView2" 
     runat = "server" 
     DataKeyNames = "ID_Podsit" 
     DataSourceID = "DSPodsit">
     <Columns>
       ...
     </Columns>
</asp:GridView>

第二个DataSource对象:

<asp:SqlDataSource
     ID = "DSPodsit"
     runat = "server" 
     ConnectionString = "<%$ ConnectionStrings:PraxeConnectionString %>" 
     ...
</asp:SqlDataSource>
4

1 回答 1

0

尝试这个

第一个 GridView - 使用新的 QueryString 重定向回页面

<asp:GridView 
        ID="GridView1" 
        runat="server" 
        DataKeyNames="ID_Segment" 
        DataSourceID="DSSegment">
        <Columns>
           <asp:TemplateField>
               <a href='/?SegmentID=<%#Eval("ID_Segment")%>'>Select this</a>
           </asp:TemplateField>
        </Columns>

</asp:GridView>

第二个数据源 - 使用查询字符串

<asp:SqlDataSource ID="DSPodsit" runat="server" 

     ConnectionString="<%$ ConnectionStrings:PraxeConnectionString %>" 
        ... SelectCommand="SELECT * FROM tTable WHERE SegmentID=@SegmentID">

   <asp:QueryStringParameter name="SegmentID" QueryStringField="SegmentID" />

</asp:SqlDataSource> 

您还可以在此处找到更多线索Master GridView with a Details DetailView

于 2012-09-03T21:25:45.877 回答