0

这是一个非常简单的问题,是的,但我还不习惯 Web 开发(我主要是赢得应用程序)。

我有一个按钮可以做各种各样的事情。我希望它做的第一件事是:

lblStatus.Text = "In progress, please wait...";

问题是,当按下按钮时,这不会将标签的默认文本“就绪”更新为“进行中,请稍候...”。

我的问题是,我应该这样做还是应该使用 AJAX 之类的其他东西?

4

5 回答 5

0

如果您仍然使用 ASP.NET Ajax,则可以使用为此而设计的UpdateProgress控件。

于 2012-11-19T22:53:17.853 回答
0

“进行中”部分是在回发时发生的。在您编写的代码中,“进行中”只会在回复返回时显示。

这与使用 JS 防止双击(和双发)类似的问题

参考:javascript/jquery 禁用点击提交按钮,防止重复提交

于 2012-11-19T22:54:02.350 回答
0

您可以尝试使用 AJAX(有关示例,请参见 URL)http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/

于 2012-11-19T23:57:56.220 回答
0

详细信息:您可以使用 jQuery 在按下按钮时显示标签并在页面加载时隐藏它

例子:

jQuery

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script  type="text/javascript">

        $(document).ready(function ()
        {
           // Hide the Label to start with
                $('#<%=lblStatus.ClientID %>').hide();

            $('#<%=btnSave.ClientID %>').click(function ()
            {
                // Show the Label when save button is clicked
                $('#<%=lblStatus.ClientID %>').show();
            });
        });

</script>


ASP.NET 控件

<asp:Button ID="btnSave" runat="server" Text="Button" />
<asp:Label ID="lblStatus" CssClass="lblStatus" runat="server" Text="In progress, please wait..."></asp:Label>
于 2012-11-20T00:21:33.220 回答
0

您可以为此使用“UpdateProgress”。您只需要在 aspx.xml 中添加以下代码。当您单击按钮时,将显示“进行中,请稍候...”,直到过程结束。

<asp:UpdateProgress ID="UpdateProgress1" runat="server">
                <ProgressTemplate>
                    <span style="text-decoration:blink; font-size:small; color:Gray;">
                    In progress, please wait...</span>
                    <%-- you can have image here instead of text--%>
                </ProgressTemplate>
            </asp:UpdateProgress>
于 2012-11-20T06:02:23.493 回答