即使ListBox的AutoPostBack设置为false,ListBox选择更改也会进行回发

时间:2012-10-30 11:44:20

标签: asp.net

问题在标题中描述。当我专门将ListBox的AutoPostBack属性设置为false时,它也会进行回发,尽管默认情况下它应该是这样。 ListBox选择模式设置为多个。

有一个类似的question但背景不同。

我错过了什么?这是一个众所周知的问题吗?

感谢您的回复, 请告诉您是否需要确切的代码

编辑:

这是aspx页面。 Codebehind要大得多,因为此页面是重定向的目标,请告诉您是否需要其他信息。

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ReportsPreviewViewAddParams.aspx.cs" Inherits="Admin_ReportsPreviewViewAddParams" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
    <form runat="server">

        <asp:HiddenField ID="SqlSelect" runat="server" />
        <asp:HiddenField ID="SqlColumnSize" runat="server" />
        <asp:HiddenField ID="SqlGroup" runat="server" />
        <asp:HiddenField ID="SqlOrder" runat="server" />
        <asp:HiddenField ID="PageSize" runat="server" />
        <asp:HiddenField ID="SumColumns" runat="server" />

        <asp:Repeater ID="RepeaterInput" runat="server" OnItemDataBound="OnRepeaterItemDataBound" >
            <HeaderTemplate>
                <table>
                <tr><th>
                    <asp:Label ID="LabelHeader" runat="server" Text='<%# Webcom.Configurator.Core.MLPersistentManager.GetKeyValue("Admin.Reports.EnterParams") %>' />
                </th></tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <asp:TextBox ID="TextBoxValueOne" runat="server" AutoPostBack="false" />
                        <asp:ListBox ID="ListBoxControlOne" runat="server" AutoPostBack="false" />
                    </td>
                    <td><asp:Label ID="LabelOperatorOne" runat="server" /></td>
                    <td><asp:Label ID="LabelColumnName" runat="server" /></td>
                    <td><asp:Label ID="LabelOperatorTwo" runat="server" /></td>
                    <td>
                        <asp:TextBox ID="TextBoxValueTwo" runat="server" AutoPostBack="false" />
                        <asp:ListBox ID="ListBoxControlTwo" runat="server" AutoPostBack="false" />
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>

        <asp:Button ID="buttonSubmit" runat="server" Visible="true" OnClick="OnSubmit" />

    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

转发器无法跟踪转发器内控件发生的自动回复。这可能会为您提供线索:

Handling autopostbacks within a repeater

您可以尝试在代码隐藏页面生命周期的早期初始化AutoPostBack属性,也许在页面加载方法中(在创建页面控件之后):

ListBox ListBoxControlOne = (ListBox)RepeaterInput.FindControl("ListBoxControlOne");
ListBoxControlOne.AutoPostBack = false;