1

更新パネルに含まれている2つのリストボックスと左ボタンと右ボタンをたどっています。唯一の問題は、左ボタンまたは右ボタンをクリックするとページが更新されることですが、これは望ましくありません。

<asp:UpdatePanel runat="server" ID="ExportUpdatePanel">
<ContentTemplate>
    <div class="exportWrapper">
    <table class="exportFilter">
        <tr>
            <td>
                <h2>
                    <%= ExportSelectDateLabel %></h2>
            </td>
        </tr>
        <tr>
            <td>
                <label>
                    <%= ExportFromDateLabel %></label>
                <asp:TextBox runat="server" ID="exportFilterFromDate" CssClass="exportDates"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td>
                <label>
                    <%= ExportToDateLabel %></label>
                <asp:TextBox runat="server" ID="exportFilterToDate" CssClass="exportDates"></asp:TextBox>
            </td>
        </tr>
    </table>
    <table class="exportFilter">
        <tr>
            <td colspan="3">
                <h2>
                    <%= ExportSelectColumnsLabel %></h2>
            </td>
        </tr>
        <tr>
            <td>
                <label>
                    <%= ExportAvailableColumnLabel %></label>
            </td>
            <td>
            </td>
            <td>
                <label>
                    <%= ExportSelectedColumnLabel %></label>
            </td>
        </tr>
        <tr>
            <td>
                <asp:ListBox runat="server" ID="exportFilterAvailableColumns" SelectionMode="Multiple" CssClass="exportListBox">
                </asp:ListBox>
            </td>
            <td class="exportButtonsTd">
                <div>
                    <asp:LinkButton runat="server" OnClick="MoveSelectedClick"><span><img src="/images/source/arrow-right.png" alt="Move Right"/></span></asp:LinkButton>
                </div>
                <div class="mt_10">
                    <asp:LinkButton runat="server" OnClick="RemoveSelectedClick"><span><img src="/images/source/arrow-left.png" alt="Move Left"/></span></asp:LinkButton>
                </div>
            </td>
            <td id="exportedSelectedColumn">
                <asp:ListBox runat="server" ID="exportFilterSelectedColumns" SelectionMode="Multiple" CssClass="exportListBox">
                </asp:ListBox>
            </td>
        </tr>
    </table>
</div>
</ContentTemplate>
</asp:UpdatePanel>

何か案は ?

4

2 に答える 2

1

コードに従って、UpdatePanel内のリンクボタンをクリックすると、ExportUpdatePanelセクションが更新されます。ページ全体の更新ではありません。更新パネルのデフォルトの更新モードは常にです。つまり、UpdatePanelコントロールのコンテンツは、ページのどこからでも発生するすべてのポストバックで更新されます。これには、他のUpdatePanelコントロール内にあるコントロールからの非同期ポストバックと、UpdatePanelコントロール内にないコントロールからのポストバックが含まれます。

これがサンプルテストです:

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
            <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
        </ContentTemplate>
</asp:UpdatePanel> 

クリックイベントで、Label1とLabel2の両方が更新されます。

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = DateTime.Now.ToLongTimeString();
    Label2.Text = DateTime.Now.ToLongTimeString();
}

ただし、更新パネルによって更新されるため、Label2のみが変更されます。

于 2012-05-02T20:00:10.257 に答える
0

更新パネルを使用する前に、更新パネルの動作に関する記事をお読みください。たとえば、これは次のとおりです。http ://www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers

更新パネルに属性を追加するUpdateMode="Conditional"ChildrenAsTriggers="true"、必要に応じて機能するはずです。

<asp:UpdatePanel runat="server"
    ID="ExportUpdatePanel"
    UpdateMode="Conditional"
    ChildrenAsTriggers="true">
于 2012-05-02T19:37:32.507 に答える