我在解决下拉列表事件时遇到问题。
我有以下下拉列表:
asp:dropdownlist id="ddlhello" Runat="server" AutoPostBack="True" onchange="javascript:return ChangeHeader();"
我还在后面的代码中添加了一个事件,即selectedindex change事件。
现在,当我执行页面时出现问题:它执行javascript但服务器端代码不会触发。如果我删除此行onchange="javascript:return ChangeHeader();"
,则会触发服务器端代码。
当我检查源页面时,它显示了两个onchange
个相关事件:
一个用于javascript,另一个用于服务器端。
我认为它正在挑选客户端代码而忽略了服务器端。
我不太确定,所以我想知道行为原因。
这是什么出路。
我希望执行服务器和客户端代码。 我已经搜索了解决方案,但我没有找到任何正确的理由。
请帮帮我。
答案 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;
我希望这可以帮到你。