我有一个DropDown列表,其中我使用代码隐藏从我的数据库中获取了值。
在从数据源读取数据后,我添加了一个新值,称为"..添加新技能“。
现在,当用户单击该项目时,我需要打开一个小页面(或者更确切地说,是一个新页面)来添加DropDownList中没有提到的技能。
if (!IsPostBack)
{
SqlConnection myConn = new SqlConnection(@"Data Source=USER-PC\SQLEXPRESS;Initial Catalog=KKSTech;Integrated Security=True");
SqlCommand myCmd = new SqlCommand(
"SELECT SkillName, SkillID FROM Skills", myConn);
myConn.Open();
SqlDataReader myReader = myCmd.ExecuteReader();
//Set up the data binding.
DropDownList1.DataSource = myReader;
DropDownList1.DataTextField = "SKillName";
DropDownList1.DataValueField = "SkillID";
DropDownList1.DataBind();
//Close the connection.
myConn.Close();
myReader.Close();
//Add the item at the first position.
DropDownList1.Items.Insert(0, "..Add New Skill");
}这是我的代码隐藏文件..现在我该如何链接它呢?
发布于 2012-07-27 15:25:03
将AutoPostBack设置为true。这样,当用户更改选项时,它会自动将页面发送到服务器。
处理此SelectedIndexChanged事件,并重定向到那里的添加页面。
不需要特殊的链接。
发布于 2012-07-27 15:25:27
向该dropdown添加一个SelectedIndexChanged事件处理程序,如下所示
void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddl.SelectedIndex == 0)
Response.Redirect("Add_New_Skill.aspx");
}如果你想让"...Add新技能“的位置在列表的最后
使用这个
ddl.Items.Insert(ddl.Items.Count, "...Add New Skill");现在,要重定向到另一个页面,您应该这样做
void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
if(ddl.SelectedIndex == ddl.Items.Count-1)
Response.Redirect("Add_New_Skill.aspx");
}发布于 2012-07-27 15:36:04
您应该使用SelectedIndexChanged事件和SelectedValue属性:
void ddl_SelectedIndexChanged(object sender, EventArgs e)
{
if(String.Compare(ddl.SelectedValue,"..Add New Skill",true)==0)
Response.Redirect("Add_New_Skill.aspx");
}https://stackoverflow.com/questions/11683154
复制相似问题