3

グリッドビューがデータで埋められている間、asp.netWebページに読み込みインジケーターを表示したい

これは私のaspxページの一部です

    <script type="text/javascript" src="Scripts/jsUpdateProgress.js"></script>      
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:Panel ID="panelUpdateProgress" runat="server" CssClass="updateProgress">
        <asp:UpdateProgress ID="UpdateProg1" DisplayAfter="0" runat="server">
            <ProgressTemplate>
                <div style="position: relative; top: 30%; text-align: center;">
                    <img src="Styles/images/loading.gif" style="vertical-align: middle" alt="Processing" />
                    Loading...
                </div>
            </ProgressTemplate>
        </asp:UpdateProgress>
    </asp:Panel>
    <ajaxToolkit:ModalPopupExtender ID="ModalProgress" runat="server" TargetControlID="panelUpdateProgress"
        BackgroundCssClass="modalBackground" PopupControlID="panelUpdateProgress" />

(私のコードはこのサンプルweblogs.asp.net/blogs/guillermo/Code/modalExample.zipに基づいています)

これは私のメソッドを呼び出すための私のボタンです

<asp:UpdatePanel ID="updatePanel" runat="server">
        <ContentTemplate>
            <asp:Button ID="btMonth" runat="server" onclick="btMonth_Click" Text="Ver" />
        </ContentTemplate>
    </asp:UpdatePanel>

これは私のメソッドbtMonth_Clickのc#コードです

    protected void btMonth_Click(object sender, EventArgs e)
{
    string query = "select * from table";
    SqlDataSource1.SelectCommand = query;
    gInd.DataSourceID = "SqlDataSource1";
}

「読み込み中」インジケータが表示されているときにわかるように、GridViewを埋めたいのですが、ボタンをクリックすると、メソッドbtMonth_Clickが呼び出され、メソッドは実行されますが、gridviewは埋められません。ボタンのasp:UpdatePanelを削除すると、グリッドビューが正常に表示されます

足りないものはありますか?

4

2 に答える 2

2

部分的にレンダリングするには、GridVew内部に配置する必要がありますUpdatePanel

設計上の理由により、グリッドを最初 UpdatePanelの 内に配置できない場合は、いくつかのグリッドを配置できます。UpdatePanel

詳細については:

同じ .aspx ページで 2 つの更新パネルを操作する方法

于 2012-07-24T20:26:59.513 に答える
0

追加してみてください:

gInd.DataBind();

あなたのbtMonth_Clickで(ところで、より良い命名規則はbtnMonth_Clickになります)

    protected void btMonth_Click(object sender, EventArgs e)
{
    string query = "select * from table";
    SqlDataSource1.SelectCommand = query;
    gInd.DataSourceID = "SqlDataSource1";
    gInd.DataBind();
}
于 2012-07-24T20:26:58.727 に答える