ورود

View Full Version : سوال: گرفتن ایدی سطر کلیک شده در دیتالیست



z.gitaro
پنج شنبه 16 خرداد 1392, 12:23 عصر
با سلام به دوستان
در مورد موضوع سوالم سرچ کردم ولی جوابشو پیدا نکردم!
یه دیتالیست دارم که تو EditTemplate یه LinkButton گذاشتم که تیتر اخبار رو نشون میده حالا میخوام وقتی رو هریک از تیترها کلیک شد محتوای اصلی او خبر تو یه فرم جدید به نام BodyNews نمایش داده بشه
اگه میشه کمکم کنین

maryammashkani
پنج شنبه 16 خرداد 1392, 18:17 عصر
در رویداد itemcommand دیتالیست اینو بنویس

if (e.CommandName == "khabar")
{
;[Session["news_ID"] = datalist1.DataKeys[e.Item.ItemIndex
;("آدرس صفحه نمایش کامل خبر")response.redirect
}

حالا تو صفحه نمایش کامل خبر در رویداد page load بنویس
{
("مسیر اتصال")SqlConnection conn = new SqlConnection
;(SqlCommand slct_link = new SqlCommand("SELECT * FROM news WHERE news_ID = @news_id", conn
;([slct_link.Parameters.AddWithValue("@news_id", Session["news_ID
conn.Open();
SqlDataReader sdr = slct_link.ExecuteReader();
(()while (sdr.Read
{
;()label1.Text = sdr["text_news"].ToString
}
sdr.Close();
conn.Close();
}

z.gitaro
پنج شنبه 16 خرداد 1392, 19:12 عصر
وقتی این کد رو می نویسم به response ارور میده نمیشناسه

z.gitaro
پنج شنبه 16 خرداد 1392, 23:11 عصر
کسی نیست راهنماییم کنه؟

forestasphalt
جمعه 17 خرداد 1392, 00:21 صبح
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
int i;
if (e.CommandName == "khabar")
{
i = e.Item.ItemIndex;

Response.Write(i);
}

}

این کد رو بررسی کن
البته اگه commandname لینک باتن khabar باشه!

command name میتونی برابر با select هم قرار بدی بعد e.CommandName =="select " قرار بدی

reza_majid68
جمعه 17 خرداد 1392, 00:48 صبح
یه متغیر code تعریف کن و فیلد کلید اصلی رو داخل اون بایند کن . بعد دستورات زیر رو بنویس
if (e.CommandName == "show")
{
Response.Redirect("~/bodynews.aspx?code=" + code);
}

بعد کد اصلی رو انتقال بده به صفحه bodynews اونجا کد رو دریافت کن و اطلاعات رو نمایش بده . هیچ باری هم روی سرور نداره .

z.gitaro
جمعه 17 خرداد 1392, 00:59 صبح
مشکل ارور رو درس کردم ولی بازم کار نمیکنه

z.gitaro
جمعه 17 خرداد 1392, 01:11 صبح
متغییر code رو کجا باید تعرف کنم ؟
چه جوری کلید اصلی رو بهش بایند کنم؟

reza_majid68
جمعه 17 خرداد 1392, 01:52 صبح
توی command argument بایندش کن .

reza_majid68
جمعه 17 خرداد 1392, 01:54 صبح
105236اینم تصویرش

reza_majid68
جمعه 17 خرداد 1392, 01:55 صبح
if (e.CommandName == "show")
{
string code = e.CommandArgument.ToString();
Response.Redirect("~/shownews.aspx?code=" + code);
}

z.gitaro
جمعه 17 خرداد 1392, 12:08 عصر
این کد رو نوشتم ولی وقتی رو دیتالیست کلیک میکنم انگار نه انگار
فقط صفحه رفرش میشه

protected void DataList1_ItemCommand1(object source, DataListCommandEventArgs e)



{


if (e.CommandName == "Title")



{


string IDNews = e.CommandArgument.ToString();

Response.Redirect("~/Forms/News/BodyNews.aspx?IDNews=" + IDNews);



}

}

maryammashkani
شنبه 18 خرداد 1392, 17:39 عصر
این کد رو نوشتم ولی وقتی رو دیتالیست کلیک میکنم انگار نه انگار
فقط صفحه رفرش میشه

protected void DataList1_ItemCommand1(object source, DataListCommandEventArgs e)



{


if (e.CommandName == "Title")



{


string IDNews = e.CommandArgument.ToString();

Response.Redirect("~/Forms/News/BodyNews.aspx?IDNews=" + IDNews);



}

}



دوستان درست گفتن ولی شما بعد از هر کدوم از کارها باید بری و در صفحه نمایش اخبار ، در قسمت page load بقیه دستورات رو هم بنویسی

z.gitaro
شنبه 18 خرداد 1392, 21:39 عصر
تو صفحه نمایش اخبار کد نوشتم ولی بازم کار نمیکنه