为什么不论选dropdownlist的哪个选项,都是跳转到同一个页面?

我想点击Button后,能根据选择的dropdownlist的Text,跳转到相应的页面,可是,事实是不管我选哪一项,最后都跳转到同一个页面(都跳到第一项车刀的那个页面)... 我想点击Button后,能根据选择的dropdownlist的Text,跳转到相应的页面,可是,事实是不管我选哪一项,最后都跳转到同一个页面(都跳到第一项车刀的那个页面):
protected void Button1_Click(object sender, EventArgs e)
{
if (DropDownListDJLB.SelectedItem.Text == "车刀")
Response.Redirect("CDDMTJ.aspx",true);
else if (DropDownListDJLB.SelectedItem.Text == "铣刀")
Response.Redirect("XDDMTJ.aspx",true);
else if (DropDownListDJLB.SelectedItem.Text == "拉刀")
Response.Redirect("LDDMTJ.aspx",true);
else if (DropDownListDJLB.SelectedItem.Text == "钻孔刀具")
Response.Redirect("ZKDJDMTJ.aspx",true);
else if (DropDownListDJLB.SelectedItem.Text == "齿轮滚刀")
Response.Redirect("CLGDDMTJ.aspx",true);
}
共有两个dropdownlist,一个是刀具标准,一个是刀具类别,由刀具类别那个来控制跳转。
前面的代码是:
protected void Page_Load(object sender, EventArgs e)
{
string myConnStr = "Data Source=ZDK.\\SQLEXPRESS;Initial Catalog=刀具代码库;Integrated security=True";
SqlConnection myConn = new SqlConnection(myConnStr);
string sql = "select 刀具标准 from 标准表";
SqlCommand myComm = new SqlCommand(sql, myConn);
myConn.Open();
SqlDataReader myReader = myComm.ExecuteReader();
while (myReader.Read())
this.DropDownListDJBZ.Items.Add(myReader.GetValue(0).ToString());
myReader.Close();
//
sql = "select 刀具类别 from 刀具类别表";
myComm = new SqlCommand(sql, myConn);
myReader = myComm.ExecuteReader();
while (myReader.Read())
this.DropDownListDJLB.Items.Add(myReader.GetValue(0).ToString());
myReader.Close();
}
展开
 我来答
dengkecn
2011-04-28 · TA获得超过311个赞
知道小有建树答主
回答量:174
采纳率:100%
帮助的人:114万
展开全部
初学.net很容易忽略一个问题:.net的每一个后台事件触发以后,都会postback,页面都是在服务器端重新生成后发送到前端的,而每一次都要引发Page_Load。
你的Button1_Click触发以后,程序又重新生成了一次页面代码,而且执行过程是:先执行Page_Load,再执行Button1_Click。
也就是说,在执行Button1_Click之前,dropdownlist又重新生成了一次,且默认选中第一个选项,你刚才选中的下拉选项已经没用了,到执行Button1_Click代码的时候,当然跳到第一项车刀的那个页面了。

因此,你要避免每次有事件触发,都重新生成dropdownlist,就要把绑定dropdownlist值得那部分代码放入if(!Ispostback)
{
}
里面,这样,绑定dropdownlist值只会在第一次载入页面的时候执行一次,以后的postback都不执行,你选择下拉选项才有用。
追问
我将page_load()中的代码放入:
if(!Ispostback)
{
}
了,可还是始终跳转到车刀那个页面。请问可能是啥出了问题呢?
中国动漫之声
2011-04-28 · 关注我,不要怕,我不吃人~
中国动漫之声
采纳数:250 获赞数:1391

向TA提问 私信TA
展开全部
请将有关 dropdownlist 中items绑定有关的代码贴出来....
也就是说将dropdownlist.items.add() 前后的相关代码贴出来,看看...
你是否在dropdownlist 的items绑定之前将dropdownilst.tems.clear() 了?
更多追问追答
追问
总共两段代码,我把前面那段也贴出来了,请您帮我看一下
追答
将page_load()中的代码放入:

if(!Ispostback)
{
}
里面
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春华秋实youy
2011-04-28 · TA获得超过1277个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:223万
展开全部
你把if里面的条件的那个text改成value试试看呢、
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式