PDA

View Full Version : ارائه شیوه بهتر براس خواندن اطلاعات از پایگاه داده و نمایش آن در صفحات.



sarapepors
جمعه 22 مهر 1390, 10:14 صبح
سلام دوستان.
من برای خواندت اطلاعاتی مثل متن صفحه اصلی از پایگاه داده ام در همون صفحه به پایگاه داده متصل میشدم و از طریق متد read اطلاعات رو می خوندم و نمایش میدادم و همینطور برای قسمت هایی مث اخبار یا پیوندها یا هر اطلاعاتی که قرار بوده از دیتابیس خونده و در صفحه مورد نطر نمایش داده بشه یعنی از هیچ کدوم از کنترل های دات نت استفاده نمی کردم میخوندم و در تگ td نمایش میدادم با response .write میخوام بدونم این روش درسته یا روش های بهتری وجود داره ممکنه که این روش سرعت لود صفحات رو پایین بیاره اگر میشه در این مورد راهنماییم کنید و اگر روش های بهتری وجود داره بگید متشکرم یه نمونه کد میذارم تا مطالبی که گفتم واضح تر باشه:




try
{
bool Display;
string Messages = "";
JahanGostarQaemWebSite.
ReadeConnectionString objReadConnectionString = new JahanGostarQaemWebSite.ReadeConnectionString();
string ConnectionString = objReadConnectionString.connectionString;
SqlConnection con = newSqlConnection(ConnectionString);
con.Open();
SqlCommand cmd = newSqlCommand("SELECT * FROM tblMessage WHERE display="+1+"AND state=N' '", con);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Display =
Convert.ToBoolean(reader["display"].ToString());
if (Display == true)
{

Response.Write(
"<tr><td class='tdList' colspan='2'>"+ reader["message"].ToString() + "</td></tr>");
}
}
}
con.Close();
}

catch (Exception ex)
{

string st = ex.Message.ToString();
st = st.Replace(
"'", " ");

tring tmp = "";
tmp =
"<script language='javascript'>";
tmp +=
"alert(' :" + st + "');";
tmp +=
"</script>";
Page.ClientScript.RegisterClientScriptBlock(
this.GetType(), "MyScript", tmp);

}

%>

ین یه نمونه کدی هست که در صفحه اصلی استفاده کردم . اگه میشه راهنماییم کنید که اگر مناسب نیست از روش دیگری استفاده کنم
متشکرم.

asif1358
جمعه 22 مهر 1390, 13:08 عصر
سلام
به نظر من روش شما معمول نیست؛ ضمن این که استفاده از Response.Write بدون استفاده از StringBuilder خیلی سرعت را پایین میاره. ضمن آنکه پیشنهاد می کنم اگر به فکر بهبود اساسی هستید حتما MVC را مد نظر داشته باشید و با ASP.Net کلاسیک خدا حافظی کنید. دلایل معقولی برای این کار وجود دارد که اینجا جای آن نیست

asif1358
جمعه 22 مهر 1390, 13:12 عصر
سلام
یه نکته دگه هم اضافه کنم که استفاده مکرر از Response.Write سرعت را کاهش میده؛ بهتره به شکل ذیل استفاده بشه


HttpResponse r = Response;
foreach (var pair in _diskDictionary)
{
r.Write(pair.Key);
r.Write(':');
r.Write(pair.Value.ToString());
r.Write('\n');
}

sarapepors
جمعه 22 مهر 1390, 13:31 عصر
سلام
به نظر من روش شما معمول نیست؛ ضمن این که استفاده از Response.Write بدون استفاده از StringBuilder خیلی سرعت را پایین میاره. ضمن آنکه پیشنهاد می کنم اگر به فکر بهبود اساسی هستید حتما MVC را مد نظر داشته باشید و با ASP.Net کلاسیک خدا حافظی کنید. دلایل معقولی برای این کار وجود دارد که اینجا جای آن نیست
سلام. متشکرم از راهنمایی تون میشه راجع به استفاده از queryBuilder توضیح بدید اصلا به چه شکل باید ازش استفاده کنم؟

sarapepors
جمعه 22 مهر 1390, 20:38 عصر
دوستان نظری در این مورد ندارند؟ اگر میشه بیشتر راهنماییم کنید. مرسی