在我的 aspx 页面中,我有一个 DetailsView 和一个 SqlDataSource 以及一个标有“下一步”的按钮。数据源模式已设置为 DataReader,因为我只需要前进。
在我的cs页面中,我有:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
conn = new SqlConnection(connectionString);
comm = new SqlCommand("PickRandomQuestions", conn);
comm.CommandType = System.Data.CommandType.StoredProcedure;
comm.Parameters.Add("QuizID", SqlDbType.Int);
comm.Parameters["QuizID"].Value = 1;
conn.Open();
reader = comm.ExecuteReader();
QuestionDetails.DataSource = reader;
QuestionDetails.DataBind();
}
}
protected void ButtonNext_Click(object sender, EventArgs e)
{
if (reader.Read())
{
QuestionDetails.DataSource = reader;
QuestionDetails.DataBind();
}
else
{
conn.Close();
reader.Close();
}
}
现在,当我单击 Next 按钮时,我得到 System.NullReferenceException: Object reference not set to an instance of an object。
我究竟做错了什么?