PDA

View Full Version : سوال: پر کردن RadioButtonList در Entity Framework



maxpayn2
شنبه 20 اسفند 1390, 15:22 عصر
سلام
توی دیتابیس 2 تا جدول دارم ، یکی متن سوال و یکی گزینه های سوال ، برای ارتباط با دیتابیس از Entity Framework استفاده میکنم ، چهطوری میتونم گزینه های یک سوال مشخص رو توی یه RadioButtonList پر کنم ؟
ممنون

maxpayn2
شنبه 20 اسفند 1390, 19:43 عصر
این کد رو نوشتم ولی جواب نمیده :



ModulesPollsEntities context = new ModulesPollsEntities();

protected void Page_Load(object sender, EventArgs e)
{
Model.Modules_Polls poll = (from p in context.Modules_Polls
where p.PollIsActive == true select p).SingleOrDefault<Model.Modules_Polls>();

List<string> answers = (from answer in context.Modules_Polls_Answers
where answer.PollID == poll.PollID select answer.PollAnswerTitle).ToList();

lblPoll.Text = poll.PollQuestion;

if (poll.PollIsMulti == false)
{
foreach (var item in answers)
{
rblAnswers.Items.Add(new ListItem(item.ToString()));
}
}
}

Ehsan Boorboor
شنبه 20 اسفند 1390, 19:47 عصر
منظورتون اینه که دیتا داره از دو تا جدول میاد ولی LinqDataSource ، کوئری Builder یا چیزی شبیه به اون نداره

باید از رویداد Selecting کامپوننت LinqDataSource استفاده کنید

اونجا می تونید کد بنویسید و در پایان نتیجه را به e.Result پاس دهید.

maxpayn2
یک شنبه 21 اسفند 1390, 09:34 صبح
ممنون
اینجا اصلا هیچ DataSource ای در کار نیست ، در خط هشت اطلاعات از Context که یک Object از Entity ی ModulesPolls هست خونده میشه و در یک List از نوع String به نام answers ذخیره میشه ، سوال اینجا نیست چون در صفحات دیگه به همین طریق اطلاعات رو خونده و اسفاده کردم ، سوال اینجاست که چرا وقتی item های لیست رو به مجموعه ListItem ها RadioButtonList اضافه میکنم هیچ اتفاقی نمی افته ؟

Ehsan Boorboor
یک شنبه 21 اسفند 1390, 13:38 عصر
کد پر کردن RadioButtonList مشکلی نداره پیچیدگی خاصی هم نداره آخه

کد ها رو خط به خط دیباگ کنید ببینید که poll و answers مقادیر مورد نظر شما رو دارند یا نه

maxpayn2
یک شنبه 21 اسفند 1390, 14:53 عصر
آقا ممنون ، حل شد ، مشکل اینقدر ضایع بود که روم نمیشه بگم

Ehsan Boorboor
یک شنبه 21 اسفند 1390, 16:31 عصر
آقا ممنون ، حل شد ، مشکل اینقدر ضایع بود که روم نمیشه بگم

آره از اون سوتی ها که نصف روز آدمو می گیره :بامزه:

maxpayn2
یک شنبه 21 اسفند 1390, 16:52 عصر
بهتره بگم یه روز و نصفی ، مقدار Visible کنترل rblAnswers برابر با False بود ، کد تکمیل شده اینطوری شد :



Model.Modules_Polls poll = (from p in context.Modules_Polls
where p.PollIsActive == true select p).SingleOrDefault<Model.Modules_Polls>();

List<string> answers = (from answer in context.Modules_Polls_Answers
where answer.PollID == poll.PollID select answer.PollAnswerTitle).ToList();

lblPoll.Text = poll.PollQuestion;

if (poll.PollIsMulti == false)
{
foreach (var item in answers)
{
chbAnswers.Visible = false;
rblAnswers.Items.Add(new ListItem(item.ToString()));
rblAnswers.Visible = true;
}
}

if (poll.PollIsMulti == true)
{
foreach (var item in answers)
{
rblAnswers.Visible = false;
chbAnswers.Items.Add(new ListItem(item.ToString()));
chbAnswers.Visible = true;
}
}