使用javascript时,下拉列表事件未触发

时间:2012-10-24 10:59:29

标签: javascript asp.net

我在解决下拉列表事件时遇到问题。

我有以下下拉列表:

asp:dropdownlist id="ddlhello" Runat="server" AutoPostBack="True"  onchange="javascript:return ChangeHeader();"

我还在后面的代码中添加了一个事件,即selectedindex change事件。

现在,当我执行页面时出现问题:它执行javascript但服务器端代码不会触发。如果我删除此行onchange="javascript:return ChangeHeader();",则会触发服务器端代码。

当我检查源页面时,它显示了两个onchange个相关事件: 一个用于javascript,另一个用于服务器端。

我认为它正在挑选客户端代码而忽略了服务器端。

我不太确定,所以我想知道行为原因。

这是什么出路。

我希望执行服务器和客户端代码。 我已经搜索了解决方案,但我没有找到任何正确的理由。

请帮帮我。

2 个答案:

答案 0 :(得分:1)

您无法使用下拉列表绑定服务器端事件,将其与onselectedindexchanged绑定

  

onselectedindexchanged = “DropDownList1_SelectedIndexChanged”

<asp:dropdownlist id="ddlhello" Runat="server" AutoPostBack="True"   onselectedindexchanged="DropDownList1_SelectedIndexChanged" onchange="javascript:return ChangeHeader();" </asp:dropdownlist>

从客户端返回false会停止回发。

function ChangeHeader()
{
 //return false; // will stop the postback
  return true; //will cause postback
}

答案 1 :(得分:0)

使用以下代替 onchange =&#34;返回ChangeHeader();&#34; 平变化=&#34; ChangeHeader();&#34;

我希望这可以帮到你。