ASP.NET页面事件调用两次

时间:2011-05-19 10:37:12

标签: asp.net

我的一个页面中有代码,如下所示:

<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按钮时页面正常。

有人能让我知道为什么会这样吗?

谢谢, 马赫什

2 个答案:

答案 0 :(得分:2)

您需要在DropDownList中将AutoPostBack更改为False。

答案 1 :(得分:1)

你应该为下拉列表和代码设置AutoPostback为false,确保在Page_Load中写下这样的条件 if(!isPostBack()) { //编写代码,它只能运行一次 }