我正在asp.net中制作课程注册系统。现在我正在建立一个页面,显示学生的成绩单,即他/她已经完成的所有课程。为此,我使用两个表:课程表,其中保存所有课程的记录,以及注册表,其中我保留所有注册的记录。我点击一个名为lbShowTranscript的链接按钮,它将我重定向到StudenGetTranscript页面。我在新重定向的页面中有一个gridview来显示记录,但它没有结果,它总是空的。这是代码:
public partial class StudentGetTranscript : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int getid = MyGlobals.student.getID();
}
}
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="CourseCode,CourseNumber,Term,StudentID"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="CourseCode" HeaderText="CourseCode" ReadOnly="True"
SortExpression="CourseCode" />
<asp:BoundField DataField="CourseNumber" HeaderText="CourseNumber"
ReadOnly="True" SortExpression="CourseNumber" />
<asp:BoundField DataField="Term" HeaderText="Term" ReadOnly="True"
SortExpression="Term" />
<asp:BoundField DataField="StudentID" HeaderText="StudentID" ReadOnly="True"
SortExpression="StudentID" />
<asp:BoundField DataField="Grade" HeaderText="Grade" SortExpression="Grade" />
<asp:BoundField DataField="CourseName" HeaderText="CourseName"
SortExpression="CourseName" />
<asp:BoundField DataField="CRN" HeaderText="CRN" SortExpression="CRN" />
<asp:BoundField DataField="Credit" HeaderText="Credit"
SortExpression="Credit" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT RegisterTable.CourseCode, RegisterTable.CourseNumber, RegisterTable.Term, RegisterTable.StudentID, RegisterTable.Grade, CourseTable.CourseName, CourseTable.CRN, CourseTable.Credit FROM RegisterTable INNER JOIN CourseTable ON RegisterTable.CourseCode = CourseTable.CourseCode WHERE (RegisterTable.StudentID = @getid)">
<SelectParameters>
<asp:Parameter Name="getid" />
</SelectParameters>
</asp:SqlDataSource>
任何人都可以帮我吗?感谢
答案 0 :(得分:1)
此代码不执行任何操作:
protected void Page_Load(object sender, EventArgs e)
{
int getid = MyGlobals.student.getID();
}
一旦功能结束,getid就会消失。您需要将该值推送到您的select参数中。
答案 1 :(得分:1)
在页面加载中,您需要设置选择参数值:
SqlDataSource1.SelectParameters["getid"].DefaultValue = getid;
设置值的另一种方法是:
SqlDataSource1.SelectParameters.Add("getid", getid);