问题在标题中描述。当我专门将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>
答案 0 :(得分:0)
转发器无法跟踪转发器内控件发生的自动回复。这可能会为您提供线索:
Handling autopostbacks within a repeater
您可以尝试在代码隐藏页面生命周期的早期初始化AutoPostBack属性,也许在页面加载方法中(在创建页面控件之后):
ListBox ListBoxControlOne = (ListBox)RepeaterInput.FindControl("ListBoxControlOne");
ListBoxControlOne.AutoPostBack = false;