1

問題はタイトルに記載されています。デフォルトではそのようになっているはずですが、ListBoxのAutoPostBackプロパティを明示的にfalseに設定した場合にもポストバックを行います。ListBox 選択モードが複数に設定されています。

同様の質問がありますが、背景が異なります。

私は何が欠けていますか?これはよく知られている問題ですか?

返信ありがとうございます。正確なコードが必要かどうか教えてください

編集:

こちらがaspxページです。このページはリダイレクトのターゲットであるため、コードビハインドははるかに大きくなります。そこから追加情報が必要な場合はお知らせください。

    <%@ 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>
4

1 に答える 1

0

リピーターには、リピーター内のコントロールから発生する自動ポストバックを追跡する方法がありません。これは手がかりを提供するかもしれません:

リピーター内での自動ポストバックの処理

コード ビハインド ページのライフ サイクルの早い段階で、おそらく Page Load メソッド (ページ コントロールが作成された後) で、AutoPostBack プロパティの初期化を試みることができます。

ListBox ListBoxControlOne = (ListBox)RepeaterInput.FindControl("ListBoxControlOne");
ListBoxControlOne.AutoPostBack = false;
于 2012-10-30T12:12:37.750 に答える