PDA

View Full Version : دسترسی به محتویات کنترل سطر انتخاب شده در کنترل data list



mariakhanom
دوشنبه 02 بهمن 1391, 16:49 عصر
سلام
توی کنترل data list ی link buttonگذاشتم که به یکی از فیلدهای جدول بایندش کردم حالا میخوام زمانی که کاربر روی یکی از link buttonهای موجود در سطرهای data list کلیک کنه به یکی از صفحات پروژه بره و توی اون صفحه محتویات درون link button که کاربر روش کلیک کرده بود نمایش داده بشه
چطور باید اینکارو انجام بدم؟

baranbahari1320
دوشنبه 02 بهمن 1391, 16:51 عصر
با استفاده از qury string میتونی این کارو انجام بدی.

malloc
دوشنبه 02 بهمن 1391, 21:49 عصر
query string چیه دیگه .

دادش شما برای اینکار میری تو حالت template دیتا لیست و اون لینک لاتن رو انتخاب میکنی و خاصیت command name اونو برابر (مثلا) edit قرار میدید(میتونید چیزهای دیگه ای هم قرار بدید) بعد از حالت template خارج میشید و میرید تو رویدادهای datalist و رویداد datalist1_editcommand رو فعال میکنید و توی این رویداد با استفاده از متغیر e بصورت e.Item.ItemIndex میتونید به سطر مورد نظر دسترسی داشته باشی . مثل کد زیر که من زدم :

protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
Linq.NDT_TabelsDataContext delete = new Linq.NDT_TabelsDataContext();
Linq.New s1 = delete.News.First(p => p.ID == int.Parse((DataList1.Items[e.Item.ItemIndex].FindControl("lblID") as Label).Text));
delete.News.DeleteOnSubmit(s1);
delete.SubmitChanges();
delete.Dispose();
FillDataList();
}

mariakhanom
دوشنبه 02 بهمن 1391, 22:28 عصر
ولی هیچ کدی نیست

اگر لطف کنید دوباره کد رو بذارین ممنون میشم

malloc
دوشنبه 02 بهمن 1391, 22:49 عصر
ولی هیچ کدی نیست

اگر لطف کنید دوباره کد رو بذارین ممنون میشم
چی هیچ کدی نیست ؟؟؟؟
کدو نوشتم دیگه

یبار دیکه مینویسم :"
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
Linq.NDT_TabelsDataContext delete = new Linq.NDT_TabelsDataContext();
Linq.New s1 = delete.News.First(p => p.ID == int.Parse((DataList1.Items[e.Item.ItemIndex].FindControl("lblID") as Label).Text));
delete.News.DeleteOnSubmit(s1);
delete.SubmitChanges();
delete.Dispose();
FillDataList();
}

mariakhanom
دوشنبه 02 بهمن 1391, 23:10 عصر
ممنون کدو خوندم ولی بازم نتونستم جواب سوال خودمو پیدا کنم.اگه لطف کینید برای سوال خودم کدو بنویسین ممنون میشم.

malloc
دوشنبه 02 بهمن 1391, 23:34 عصر
سوالتونو با جزئیات بیان کنید

mariakhanom
دوشنبه 02 بهمن 1391, 23:39 عصر
من ی جدول خبر دارم که شامل شامل فیلدهای شناشه خبر عنوان خبر و.. .ست.میخوام توی یک قسمت از صفحه ی اول سایتم عنوان تمامی خبرهای توی جدول نشون داده بشه و زمانی که کاربر روی یکی از این عنوان ها کلیک کنه توی یک صفحه دیگه کل خبر نمایش داده بشه.
برای اینکار از کنترل data list استفاده کردم بایندش کردم به جدول یک link button هم توی data list گذاشتم و به فیلد عنوان خبر بایندش کردم.بقیشو نمیدونم چیکار کنم

malloc
دوشنبه 02 بهمن 1391, 23:47 عصر
ایول . یه سر به سایت http://nasimdt.com/ (http://nasimdt.com/)بزن . تو صفحه اولش خبر داره . رو یکی از عنواوینش کلیک کن ببین چی میشه
یه اون پایین روی rss سایت کلیک کن و بعد اونجا رو عنوان خبر کلیک کن ببین چی میشه .

اگه همونو میخوای من کدشو واست بزارم

mariakhanom
دوشنبه 02 بهمن 1391, 23:51 عصر
آره ی همچین چیزی میخوام.

malloc
دوشنبه 02 بهمن 1391, 23:55 عصر
این کد html:


<asp:LinkButton ID="LnkNewsSubject" runat="server" CommandName="edit" Font-Underline="False"
Text='<%# Eval("Subject") %>' CssClass="Mytittle"></asp:LinkButton>

اینم رویداد edit command مربوط به دیتا لیست صفحه مبدا :
protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
string QueryString = "~/Pages/FullNews.aspx?";
QueryString += "ID=" + (DataList1.Items[e.Item.ItemIndex].FindControl("lblID") as Label).Text;
Response.Redirect(QueryString);
}


اینم کدی که تو لود صفحه مقصد نوشتم :
int i =0;
try { i = Convert.ToInt32(Request.QueryString["ID"].ToString()); }
catch { Response.Redirect("~/Default.aspx"); }

if (!IsPostBack)
{
Linq.NDT_TabelsDataContext FullNews = new Linq.NDT_TabelsDataContext();
var s = FullNews.S_NewsSelect(i);
FormView1.DataSource = s;
FormView1.DataBind();
FullNews.Dispose();
GetRate();

if (ChkAccessRate() == false)
RadRating1.Enabled = false;
}

mariakhanom
سه شنبه 03 بهمن 1391, 00:01 صبح
میشه کدی که توی صفحه ی دوم نوشتین رو مختصرتوضیح بدین

malloc
سه شنبه 03 بهمن 1391, 00:06 صبح
میشه کدی که توی صفحه ی دوم نوشتین رو مختصرتوضیح بدین
کد صفحه دوم مهم نیست که بابا . من دارم یه ID به صفحه دوم پاس میدم . تو صفحه دوم با تکنولوژی Linq (که شاید بلد نباشید) دارم همون ID رو با دیتابیس مقایسه میکنم و رکورد مورد نظر و برمیگردونم . یعنی همون سلکت sql خودمونه که شما سلکت میکنی از اون جدولی که میخوای بشرطی که ID برابر اون ID که از querystring گرفتی باشه

mariakhanom
سه شنبه 03 بهمن 1391, 00:21 صبح
آقا ممنون.خیلی لطف کردین

malloc
سه شنبه 03 بهمن 1391, 00:34 صبح
ایشالا مشکلت رفع شده باشه.

mariakhanom
سه شنبه 03 بهمن 1391, 00:53 صبح
الان کد رو امتحان کردم linq رو نمیشناسه.
name space ,چیزی نمیخواد؟

malloc
سه شنبه 03 بهمن 1391, 05:58 صبح
دوست عزیز من linq زدم اما گفتم شما همون sql و بزن راحتری.

نه namespace نمیخواد اما کلی داستان داره که باید pdf آموزشیشو از اینترنت دانلود کنی و بخونی

mariakhanom
سه شنبه 03 بهمن 1391, 11:27 صبح
آره رفع شد ممنون از پیگیریتون