2012-11-22 165 views
3

我遇到了我的DropDownList问题。事件不会发射!我已经在一个单独的项目上测试了它,用DropDownList和一个文字。每次选定的值都会改变,我会为文字添加一个小星星“*”。没有问题,所以永远。但是每次我在项目的网页上尝试它时,都会失败。DropDownList事件不会触发

Here是一个图像。

protected void ddlConsole_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ltlTesting.Text += "*"; 
} 

UPDATE:

我已经尝试了一些东西,但仍然没有更迭。我希望有人能告诉我我做错了什么。我将代码中的事件连接到现在,但我在下拉列表旁边添加了一个linkbutton,以查看它是否有效。

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     ddlConsole.SelectedIndexChanged += new EventHandler(ddlConsole_SelectedIndexChanged); 
     lnkGet.Click += new EventHandler(ddlConsole_SelectedIndexChanged); 
    } 

这里是看发生了什么事情的图像。在开始的文字中的条纹在页面加载中添加了与星号相同的代码。只是为了确保它不会加载两次。 “GET”链接按钮正常工作。在下拉列表不...

+0

我没有这样说过。我只是有点沮丧,因为我无法做到这一点,我感觉这是我正在寻找的很小的东西。你有自己的名誉,有什么要求吗? – Chris

+0

我更新了我的答案,检查出来我认为是你的问题 –

回答

2

有你在控件的属性设置

AutoPostBack="true" 

编辑:

从ASPX页面的标记删除

OnSelectedIndexChanged="ddlConsole_SelectedIndexChanged" 

只有用真正的AutoPostBack和代码隐藏定义的 事件再试一次。 ASPX页面看起来应该是这样:

<asp:DropDownList runat="server" ID="ddlConsole" AutoPostBack="True"></asp:DropDownList> 
+0

Thx的答复。我试过这个。 保护覆盖无效OnInit(EventArgs e) { base.OnInit(e); ddlConsole。SelectedIndexChanged + = new EventHandler(ddlConsole_SelectedIndexChanged); } 没有成功:( – Chris

0

是在下拉列表trueAutoPostBack? DROPDOWNLIST的

0

检查AutoPostBack属性将其设置为true:

0

如果图片是权利和AutoPostBack="True",有没有设置的ltlTesting当页面加载值的任何代码?

0

AutoPostback="True"OnSelectedIndexChanged="ddlConsole_SelectedIndexChanged"添加到ddlConsole属性中。您可以删除OnInit方法,因为您在设计时绑定了SeletedIndexChanged事件。