0

私は c# を使用して asp.net と ajax に取り組んでいます。ユーザーがボタンをクリックしたときに読み込みパネルをポップしようとしています。Mu フォームには、3 つのテキストボックスと 1 つのドロップダウンリスト (autopostback=true)、および 1 つの送信ボタンが含まれています。私は次のコードを使用します。

 <asp:UpdatePanel ID="updatepanel1" runat="server">
    <ContentTemplate>   
     <asp:TextBox runat="server" ID="txtMI" Width="80px" Height="20px" CssClass="s1">                                       </asp:TextBox>
<asp:TextBox runat="server" ID="txtMI" Width="80px" Height="20px" CssClass="s1"></asp:TextBox>
<asp:TextBox runat="server" ID="txtMI" Width="80px" Height="20px" CssClass="s1"></asp:TextBox>
        <asp:Dropdownlist ID="drpCountries" runat="server" Font-Bold="True" ForeColor="#FF3300"></asp:Dropdownlist>
        <br />
        <asp:Button ID="btnLoad" runat="server" onclick="btnLoad_Click" Text="submit" />
        </ContentTemplate>
        </asp:UpdatePanel>

私のupdateprogressコードは次のとおりです。

 <asp:UpdateProgress id="updateProgress" runat="server">
     <ProgressTemplate>
            <div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;">
                    <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/avatarloading.gif" AlternateText="Loading ..." ToolTip="Loading ..." style="padding: 10px;position:fixed;top:25%;left:35%;" /><center><span style="color:White;font-weight:bolder;font-size:x-large;"><b>Loading...</b></span></center>
            </div>
     </ProgressTemplate>

</asp:UpdateProgress>

送信ボタンをクリックしたときに読み込みパネルをポップする必要があります。ドロップダウンリストでアイテムを選択すると、ロードパネルもポップします。ajaxのみを使用して送信ボタンをクリックしたときに、ロードパネルをポップするにはどうすればよいですか。私を導いてください。

4

1 に答える 1

0

2 つのこと: DDL に AutoPostBack=true がなく、更新の進行状況の AssociatedUpdatePanelID プロパティを変更してみてください。また、ポストバックが非常に高速に行われ、更新の進行状況を確認できない可能性もあります。いずれにしても、OnSelectedIndexChanged イベントにヒットしているかどうかを確認し、ヒットしている場合は、スレッドを数秒間スリープ状態にして、読み込みポップアップが表示されるかどうかを確認します。これは、サンプルプロジェクトとして私が自分で取り組んでいるものです。

コードビハインド:

public partial class _Default : System.Web.UI.Page
{
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(5000);
    }
}

HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
                    <asp:ListItem>Item 1</asp:ListItem>
                    <asp:ListItem>Item 2</asp:ListItem>
                </asp:DropDownList>
            </ContentTemplate>
        </asp:UpdatePanel>
        <asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
            <ProgressTemplate>
                Loading.....</ProgressTemplate>
        </asp:UpdateProgress>
    </div>
    </form>
</body>
</html>

幸運を。

于 2012-06-29T22:33:13.840 に答える