2010-08-19 1 views
0

У меня есть код, чтобы передать запрос из одной страницы, которая имеет GridView гиперссылки, но то, что я не знаю, как получить его ..Получение два SQL запросов от одной страницы к другой с помощью гиперссылки GridView

Вот мой код, я надеюсь, что вы могли бы помочь мне исправить этот .. Thnx

Иметь хороший день ^^,

Default1.aspx (Gridview1) страница:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSource1" HorizontalAlign="Center" Width="570px" 
      AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField DataField="course_cat" HeaderText="course_cat" SortExpression="course_cat" /> 
      <asp:BoundField DataField="section_name" HeaderText="section_name" SortExpression="section_name" />    
      <asp:BoundField DataField="no_of_students" HeaderText="numberofstudents" SortExpression="no_of_students" />     
      <asp:BoundField DataField="section_id" HeaderText="section_id" InsertVisible="False" ReadOnly="True" SortExpression="section_id" Visible="False" /> 
      <asp:BoundField DataField="course_id" HeaderText="course_id" InsertVisible="False" ReadOnly="True" SortExpression="course_id" Visible="False" /> 
      <asp:HyperLinkField DataNavigateUrlFields="section_id,course_id" DataNavigateUrlFormatString="ClassList.aspx?section_id={0}& course_id={1}" Text="View Students" /> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:dbProLearnConnectionString %>" 
     SelectCommand="SELECT tblCourses.course_id, tblCourses.course_cat, tblSections.section_id, tblSections.section_name, tblSections.no_of_students FROM tblCourses 
     CROSS JOIN tblSections GROUP BY tblCourses.course_id, tblCourses.course_cat, tblSections.section_id, tblSections.section_name, tblSections.no_of_students"> 
    </asp:SqlDataSource> 

Default2.aspx (Gridview2) Страница:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSource1" HorizontalAlign="Center" Width="570px" 
      AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField DataField="StudentID" HeaderText="StudentID" SortExpression="StudentID" /> 
      <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" /> 
      <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" /> 
      <asp:TemplateField HeaderText="section_name" SortExpression="section_name"> 
       <EditItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("section_name") %>' /> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("section_name") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:TemplateField HeaderText="course_cat" SortExpression="course_cat"> 
       <EditItemTemplate> 
        <asp:Label ID="Label2" runat="server" Text='<%# Eval("course_cat") %>' /> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:Label ID="Label2" runat="server" Text='<%# Eval("course_cat") %>' /> 
       </ItemTemplate> 
      </asp:TemplateField> 
     </Columns> 
    </asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:dbProLearnConnectionString %>" 
    OldValuesParameterFormatString="original_{0}" 
    SelectCommand="SELECT tblStudents.StudentID, tblStudents.LastName, tblStudents.FirstName, (SELECT section_name FROM tblSections AS tblSections_1 
    WHERE (tblStudentSubject.section_id = section_id)) AS section_name, (SELECT course_cat FROM tblCourses AS tblCourses_1 
    WHERE (tblStudentSubject.course_id = course_id)) AS course_cat FROM tblStudentSubject 
    INNER JOIN tblStudents ON tblStudentSubject.student_id = tblStudents.StudentID 
    INNER JOIN tblCourses AS tblCourses ON tblStudentSubject.course_id = tblCourses.course_id 
    INNER JOIN tblSections AS tblSections ON tblStudentSubject.section_id = tblSections.section_id 
    WHERE (tblStudentSubject.section_id = @section_id) AND (tblStudentSubject.course_id = @course_id) ORDER BY tblStudents.LastName">  
    <SelectParameters> 
     <asp:QueryStringParameter Name="section_id" QueryStringField="section_id" /> 
     <asp:QueryStringParameter Name="course_id" QueryStringField="course_id" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

ответ

0

Спасибо за ваш ответ и время VinayC .. я наконец понял это, на мой собственный .. с наконечником на ваш ответ ... Еще раз спасибо ^^,

Вот Формальный код

SubjectClass.aspx ж/CI назван (Default1.aspx (Gridview1)) в моем образце

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSource1" HorizontalAlign="Center" Width="570px" 
      AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField DataField="course_cat" HeaderText="Course Catalog" 
       SortExpression="course_cat"> 
      </asp:BoundField> 
      <asp:BoundField DataField="section_name" HeaderText="Section Name" 
       SortExpression="section_name"> 
      </asp:BoundField> 

      <asp:BoundField DataField="no_of_students" HeaderText="No. Of Students" 
       SortExpression="no_of_students"> 
      </asp:BoundField> 

      <asp:BoundField DataField="section_id" HeaderText="section_id" 
       InsertVisible="False" ReadOnly="True" SortExpression="section_id" Visible="False" /> 
      <asp:BoundField DataField="course_id" HeaderText="course_id" 
       InsertVisible="False" ReadOnly="True" SortExpression="course_id" Visible="False" /> 

      <asp:HyperLinkField DataNavigateUrlFormatString="ClassList.aspx?section_id={0}&course_id={1}" 
       DataNavigateUrlFields="section_id,course_id" Text="View Students"/> 

     </Columns> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:dbProLearnConnectionString %>" 
     SelectCommand="SELECT tblStudentSubject.course_id, tblStudentSubject.section_id, tblCourses.course_cat, tblSections.section_name, tblSections.no_of_students FROM tblStudentSubject 
     INNER JOIN tblCourses ON tblStudentSubject.course_id = tblCourses.course_id 
     INNER JOIN tblSections ON tblStudentSubject.section_id = tblSections.section_id 
     GROUP BY tblStudentSubject.course_id, tblStudentSubject.section_id, tblCourses.course_cat, tblSections.section_name, tblSections.no_of_students"> 
    </asp:SqlDataSource> 

ClassList.aspx ж/CI назван (Default2.aspx (Gridview2)) в моем образце

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     DataSourceID="SqlDataSource1" HorizontalAlign="Center" Width="570px" 
      AllowPaging="True" CellPadding="4" ForeColor="#333333" 
    GridLines="None"> 
     <RowStyle BackColor="#E3EAEB" /> 
     <Columns> 
      <asp:BoundField DataField="LastName" HeaderText="LastName" 
       SortExpression="LastName" /> 
      <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
       SortExpression="FirstName" /> 
      <asp:BoundField DataField="section_name" HeaderText="section_name" 
       SortExpression="section_name" /> 
      <asp:BoundField DataField="course_cat" HeaderText="course_cat" 
       SortExpression="course_cat" /> 
      <asp:BoundField DataField="section_id" HeaderText="section_id" 
       SortExpression="section_id" Visible="False" /> 
      <asp:BoundField DataField="course_id" HeaderText="course_id" 
       SortExpression="course_id" Visible="False" /> 
     </Columns> 
    </asp:GridView> 

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:dbProLearnConnectionString %>" 
    SelectCommand="SELECT tblStudents.LastName, tblStudents.FirstName, tblSections.section_name, tblCourses.course_cat, tblStudentSubject.section_id, tblStudentSubject.course_id FROM tblStudentSubject INNER JOIN tblStudents ON tblStudentSubject.student_id = tblStudents.StudentID INNER JOIN tblSections ON tblStudentSubject.section_id = tblSections.section_id INNER JOIN tblCourses ON tblStudentSubject.course_id = tblCourses.course_id WHERE (tblStudentSubject.section_id = @section_id) AND (tblStudentSubject.course_id = @course_id)"> 
    <SelectParameters> 
     <asp:QueryStringParameter Name="section_id" QueryStringField="section_id" 
      Type="Int32" /> 
     <asp:QueryStringParameter Name="course_id" QueryStringField="course_id" 
      Type="Int32" /> 
    </SelectParameters> 
</asp:SqlDataSource> 
0

Не уверен, что именно этот вопрос, что ваш сталкиваются - единственное, что неладно в вашем коде типа для QueryStringParameter.

<asp:QueryStringParameter Name="section_id" type="string" QueryStringField="section_id" /> 
+0

Спасибо за ответ VinayC, Моя проблема, у меня есть мой Default1.aspx и гиперссылку данных в gridview1, которая названа Посмотреть Студента ... когда я нажал ее .. Я ожидал, что он будет пройти section_id и data_id в файле Default2.aspx, которому нужны данные section_id и course_id для фильтрации gridview2 .. но мой gridview2 не появляется ... это моя проблема .. – Kid

+0

Я использовал «ClassList.aspx» в вашей гиперссылке вместо default2 .aspx. Но если предположить, что только для запроса вопроса, когда вы нажимаете на ссылку, параметры запроса передаются правильно? Я имею в виду, вы видите эти правильные значения в URL-адресе? Если да, то проверьте, возвращает ли запрос для этих параметров нулевые строки или нет. Если есть нулевые строки, вы ничего не увидите, если не предоставите EmptyDataTemplate или EmptyDataText. – VinayC

+0

Я бы хотел дать вам +1, но он говорит, что у меня недостаточно репутации ^^, еще раз спасибо – Kid