我的一个页面中有代码,如下所示:
<asp:button id="btnTest" runat="server" onclick="btnTest_click" />
<div class="TomasForm">
<ul>
<li>
<asp:Label ID="LineL" runat="server" AssociatedControlID="Lines" Text="<%$ FieldLabelResources:Units, Line, false %>" />
<asp:DropDownList ID="Lines" runat="server" AutoPostBack="true" AppendDataBoundItems="true"
DataTextField="Name" DataValueField="Id" OnSelectedIndexChanged="Lines_SelectedIndexChanged">
<asp:ListItem Text="<%$ Resources:Common, SelectOne %>" Value="-1" />
</asp:DropDownList >
</li>
</ul>
</div>
我的问题是当我更改Lines下拉列表值时,页面(page_load和Lines_SelectedIndexChanged事件)被调用两次。 单击btnTest按钮时页面正常。
有人能让我知道为什么会这样吗?
谢谢, 马赫什
答案 0 :(得分:2)
您需要在DropDownList中将AutoPostBack更改为False。
答案 1 :(得分:1)
你应该为下拉列表和代码设置AutoPostback为false,确保在Page_Load中写下这样的条件 if(!isPostBack()) { //编写代码,它只能运行一次 }