好的,所以这就是我想要做的。我有2 DropDownLists
。一个是DataBound
。一个是Deprtmnt
,另一个是Doctor
。我想要做的是,当我从DropDownList Department
中选择Deprtmnt
例如 Cardiology 时,另一个DropDownList
应填充Doctors
仅属于心脏病学部。
当我点击部门心脏病学时,医生的名字不会显示在另一个下拉列表中
这就是我到目前为止所做的。
Apsx代码:
<asp:DropDownList ID="Deprtmnt" runat="server" Height="32px" Width="227px">
<asp:ListItem>(None)</asp:ListItem>
<asp:ListItem>Opthalomology</asp:ListItem>
<asp:ListItem>Dermatology</asp:ListItem>
<asp:ListItem>Cardiology</asp:ListItem>
<asp:ListItem>Neurology</asp:ListItem>
</asp:DropDownList>
<br />
<br />
<asp:DropDownList ID="DropDownList1" runat="server" Height="32px" Width="229px" DataSourceID="SqlDataSource1" DataTextField="Sname" DataValueField="Sname">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SMCConnectionString %>" SelectCommand="SELECT Sname FROM StaffRec WHERE (Designation = N'Doctor' AND Department = N'Deprtmnt.SelectedItem.Text')"></asp:SqlDataSource>
c#code:
string str = "INSERT INTO Appointments(Apname,Department,Doctor,Date) values (@Apname,@Department,@Doctor,@Date)";
cmd = new SqlCommand(str, con);
cmd.Parameters.AddWithValue("@Apname", name.Text);
cmd.Parameters.AddWithValue("@Department", Deprtmnt.SelectedItem.Text);
cmd.Parameters.AddWithValue("@Doctor", DropDownList1.SelectedItem.Text);
cmd.Parameters.AddWithValue("@Date", TextBox1.Text);
con.Open();
其余的代码没有关联,所以我不发布它。 非常感谢任何帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
使用AutoPostBack=true
您需要在ControlParameter
中使用SelectParameters
。
<asp:DropDownList ID="Deprtmnt" AutoPostBack="true" runat="server" Height="32px" Width="227px">
<asp:ListItem>(None)</asp:ListItem>
<asp:ListItem>Opthalomology</asp:ListItem>
<asp:ListItem>Dermatology</asp:ListItem>
<asp:ListItem>Cardiology</asp:ListItem>
<asp:ListItem>Neurology</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DropDownList1" runat="server" Height="32px" Width="229px" DataSourceID="SqlDataSource1" DataTextField="Sname" DataValueField="Sname">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SMCConnectionString %>" SelectCommand="SELECT Sname FROM StaffRec WHERE (Designation = N'Doctor' AND Department = @department)">
<SelectParameters>
<asp:ControlParameter ControlID="Deprtmnt" PropertyName="SelectedValue"
Name="Department" Type="String" DefaultValue="Opthalomology" />
</SelectParameters>
</asp:SqlDataSource>