Я просто задавался вопросом, как правильно вернуть читателя из класса?Asp.Net: Возвращение читателя из класса
Мой код ниже работает, но я не уверен, что это правильно.
Также. Я не могу закрыть соединение в моем методе класса и по-прежнему получать доступ к нему со своей страницы ascx, это
что ОК?
// В моем классе у меня есть следующий способ возврата записи/чтения - это единственная запись в этом случае.
public SqlDataReader GetPost()
{
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("con_spPost", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@blogid", blogid);
try
{
conn.Open();
return cmd.ExecuteReader();
}
finally
{
// conn.Close();
}
}
// Я затем вызвать метод GetPost в моей странице ASCX так:
protected void Page_Load(object sender, EventArgs e)
{
//instantiate our class
MyClass DB = new MyClass();
//pass in the id of the post we want to view
DB.PostID = Int32.Parse(Request.QueryString["p"]);
///call our GetPost method
SqlDataReader reader = DB.GetPost();
//output the result
reader.Read();
this.viewpost.InnerHtml = "<span id='post1_CreatedDate'>" + reader["CreatedDate"].ToString() + "</span><br>";
this.viewpost.InnerHtml += "<span class='blogheads'>" + reader["BlogTitle"].ToString() + "</span><p><p>";
this.viewpost.InnerHtml += reader["BlogText"].ToString();
reader.Close();
}
Я бы признателен за любые комментарии на мой код или советы, спасибо.
Melt
hmm ... SO, похоже, испортил мой код :-( – Melt
SO использует некоторые знаки препинания в качестве кодов разметки. Иногда вам приходится возиться с ним, как полезный Одед. – DOK
Спасибо за исправление этого. – Melt