【发布时间】:2014-04-19 03:37:18
【问题描述】:
我有一张名为 FACILITIES 的表。我已经对其进行了编码,因此当为第一个下拉列表选择会议时,第二个下拉列表将显示属于 FAC_TYPE 列数据的 FAC_CODE 列数据。
问题是我为属于任何 FAC_TYPE 的 FAC_CODE 选择的任何选项,它总是会重定向到 number1.aspx。我希望这样做,如果我为 FAC_TYPE 选择 Meeting 并且为 FAC_CODE 选择任何选项,它将转到 number1.aspx。如果我为 FAC_TYPE 选择 Tutorial 并且为 FAC_CODE 选择任何选项,它将转到 number2.aspx。如果我为 FAC_TYPE 选择 Lecture,为 FAC_CODE 选择任何选项,它将转到 number2.aspx。
我的第一个下拉列表名称是 FAC_TYPE 字段,称为 ddlFacilityType,我的第二个下拉列表名称是 FAC_CODE 字段,称为 ddlFacility。两者都勾选了自动回发。那么如何在 ddlFacility_SelectedIndexChanged 事件中编码呢?为这个帖子加油
public partial class MainMenu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string constr = ConfigurationManager.ConnectionStrings["projectConnectionString"].ToString(); // connection string
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand com = new SqlCommand("select distinct FAC_TYPE from FACILITIES", con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds); // fill dataset
ddlFacilityType.DataTextField = ds.Tables[0].Columns["FAC_TYPE"].ToString(); // text field name of table dispalyed in dropdown
// to retrive specific textfield name
ddlFacilityType.DataSource = ds.Tables[0]; //assigning datasource to the dropdownlist
ddlFacilityType.DataBind(); //binding dropdownlist
ddlFacilityType.Items.Insert(0, new ListItem(" Select type", "0"));
}
ddlFacility.Items.Insert(0, new ListItem(" Select room", "0"));
}
protected void ddlFacilityType_SelectedIndexChanged(object sender, EventArgs e)
{
string constr = ConfigurationManager.ConnectionStrings["projectConnectionString"].ToString(); // connection string
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand com = new SqlCommand("select distinct FAC_CODE from FACILITIES where FAC_TYPE='" + ddlFacilityType.SelectedValue.ToString() + "'", con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds); // fill dataset
ddlFacility.DataTextField = ds.Tables[0].Columns["FAC_CODE"].ToString(); // text field name of table dispalyed in dropdown
// to retrive specific textfield name
ddlFacility.DataSource = ds.Tables[0]; //assigning datasource to the dropdownlist
ddlFacility.DataBind(); //binding dropdownlist
ddlFacility.Items.Insert(0, new ListItem(" Select room", "0"));
}
protected void ddlFacility_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Redirect("number1.aspx");
}
}
【问题讨论】:
标签: c# forms redirect web drop-down-menu