PDA

View Full Version : آپدیت کردن مقدار لیست



زیبا بستان
چهارشنبه 26 شهریور 1393, 11:41 صبح
سلام، نیاز فوری به کمک دارم.
من یه ریدیوباتن لیست دارم که ترم ها داخل آن هست و یه لیست دارم که براساس اینکه چه ترمی انتخاب شده لیست درس های ان ترم نمایش میدهد.

نمی دونم چطور باید کد ان رو نوشت.
ممنون میشم راهنمایی ام کنید.

shahram hosseini
چهارشنبه 26 شهریور 1393, 12:15 عصر
نمی دونم منظورتون چنین چیزیه :
123597

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{
switch (RadioButtonList1.SelectedIndex.ToString())
{
case "0":
Response.Redirect("92.aspx");
break;
case "1":
Response.Redirect("93.aspx");
break;
}

}

زیبا بستان
چهارشنبه 26 شهریور 1393, 12:28 عصر
من همچین کدی نوشیتم


<table>
<tr>
<td>
<asp:RadioButtonList ID="rdterm" runat="server" RepeatDirection="Horizontal" OnSelectedIndexChanged="rdterm_SelectedIndexChanged" >
<asp:ListItem Value="1" Selected="True">ترم 1</asp:ListItem>
<asp:ListItem Value="2">ترم 2</asp:ListItem>
<asp:ListItem Value="3">ترم 3</asp:ListItem>
<asp:ListItem Value="4">ترم 4</asp:ListItem>
<asp:ListItem Value="5">ترم 5</asp:ListItem>
<asp:ListItem Value="6">ترم 6</asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
<tr><td>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
<contenttemplate>

<asp:ListBox ID="ListBox1" runat="server" DataSourceID="sqlcourse" DataTextField="nameCourse" DataValueField="CourseId" Width="141px"></asp:ListBox>
<asp:SqlDataSource ID="sqlcourse" runat="server" ConnectionString="<%$ ConnectionStrings:managementConnectionString %>"
SelectCommand="SELECT t_Course.CourseId, t_Course.nameCourse FROM t_Course INNER JOIN r_MajorTerm ON t_Course.CourseId = r_MajorTerm.CourseId WHERE (r_MajorTerm.TermYear = @term and r_MajorTerm.MajorId=@MajorId)">
<SelectParameters>
<asp:ControlParameter ControlID="rdterm" Name="term" PropertyName="SelectedValue" />
<asp:SessionParameter Name="MajorId" SessionField="MajorId" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</contenttemplate>


</asp:UpdatePanel>


</td></tr>
</table>


می خوام با انتخاب ترم لیست درس های ترم انتخاب شده رو بهم نشون بده.

shahram hosseini
چهارشنبه 26 شهریور 1393, 13:10 عصر
شرط WHERE (r_MajorTerm.TermYear = @term and r_MajorTerm.MajorId=@MajorId) را به صورت زیر اصلاح کن


WHERE (r_MajorTerm.TermYear = @RadioButtonList1.SelectedValue)

زیبا بستان
چهارشنبه 26 شهریور 1393, 13:20 عصر
شرط WHERE (r_MajorTerm.TermYear = @term and r_MajorTerm.MajorId=@MajorId) را به صورت زیر اصلاح کن


WHERE (r_MajorTerm.TermYear = @RadioButtonList1.SelectedValue)

شرط را تغییر دادم ولی ارور میده
Must declare the scalar variable "@rdterm".میشه بیشتر راهمنمایم کنید.

shahram hosseini
چهارشنبه 26 شهریور 1393, 13:50 عصر
توی جدولت ببین نام فیلدی که سال را ذخیره می کند چیه.بعد بیا توی شرط مقدار این فیلد را مساوی آیتم انتخاب شده از رادیو باتون لیست قرار بده.

زیبا بستان
چهارشنبه 26 شهریور 1393, 15:36 عصر
توی جدولت ببین نام فیلدی که سال را ذخیره می کند چیه.بعد بیا توی شرط مقدار این فیلد را مساوی آیتم انتخاب شده از رادیو باتون لیست قرار بده.
من با این خط کد همین کار انجام دادم
<asp:ControlParameter ControlID="rdterm" Name="term" PropertyName="SelectedValue" />
که term همان مقدار است که در مقابل فیلد جدول قرار داده شده.WHERE (r_MajorTerm.TermYear = @term
و rdterm همان رادیو باتون هست.که مقدار selectedvalue آن را برابر فیلد قرار میدهد.
دفعه اول با مقدار رادیوباتن پیش فرض کوئری اجرا میشه.ولی زمانی که یه ترم دیگر را انتخاب میکنم لیست باکس آپدیت نمیشه.

shahram hosseini
چهارشنبه 26 شهریور 1393, 19:25 عصر
خصوصیت AutoPostBack رادیوباتون را True بزار.