PDA

View Full Version : سوال: مشکل دربند کردن لیبل



forestasphalt
سه شنبه 08 اسفند 1391, 13:19 عصر
با سلام
من یه ریپیتر دارم که داخلش هم یک لیبل وجود داره من میخوام تکس لیبل بایند کنم(به شرطی یکی از 3 ستون من با حرفی که از کوئری استرینگ میخونم شروع شده باشه ) لطفا راهنمایی کنید


string title = "";
string query_string = Request.QueryString["id"];
query_string=query_string.ToLower();
DataClassesDataContext db = new DataClassesDataContext();
var query = from p in db.Products where p.Main_company.StartsWith(query_string) || p.Design_company.StartsWith(query_string) || p.Child_Company.StartsWith(query_string) select p;
foreach (var item in query)
{


if (item.Main_company.StartsWith(query_string))
title = item.Main_company.ToString();
if (item.Child_Company.StartsWith(query_string))
title = item.Child_Company.ToString();
if (item.Design_company.StartsWith(query_string))
title = item.Design_company.ToString();

}

Repeater1.DataSource = query;
Repeater1.DataBind();

b.paseban
سه شنبه 08 اسفند 1391, 13:49 عصر
سلام بر شما.
شما میخواین به لیبل مقدار جدید رو بدین؟
الان مشکل شما دسترسی نداشتن به کنترل لیبل داخل ریپیتره ؟
ممنون میشم بیشتر توضیح بدین.

forestasphalt
سه شنبه 08 اسفند 1391, 14:04 عصر
با سلام با تشکر از شما
بله میخوایم به لیبل مقدار جدید بدم (یعنی اگه ستونMain_company با حرف اول کوئری استرینگ شروع شد عنوان لیبل داخل ریپیتر عوض بشه(همینطور 2 ستون دیگه) )

b.paseban
سه شنبه 08 اسفند 1391, 15:27 عصر
شما باید OnItemDataBound رو برای repeater اجرا کنید.
برای دسترسی به کنترل مورد نظر (تو اینجا label) و مقدار دادن به اون:


Label SomeNameOrID= e.Item.FindControl("LabelID") as Label;
SomeNameOrID.Text = "Data"();

تو کد بالا ما میایم توی رویداد OnItemDataBound دنبال یه لیبیل با آی دی LabelID می گردیم و به اون در خط بعدس مقدار مورد نظر (Data) رو میدیم.

forestasphalt
سه شنبه 08 اسفند 1391, 15:35 عصر
موقع مقدار دادن رو چجوری باید بدم؟! من یه تابع گذاشتم ولی آخرین مقدار رو برمیگردونه و هی ریپیت میکنه!