C# 如何在ASPX页面中搜索时显示消息

C# 如何在ASPX页面中搜索时显示消息,c#,asp.net,sql,C#,Asp.net,Sql,我在我的ASPX页面中有一个搜索,单击该页面后会使用UpdatePanel显示一个结果,因此它会在不刷新页面的情况下显示结果。执行搜索的函数如下所示: public void onBtnClick() { Conn = new SqlConnection(cString); Conn.Open(); theGender = slcGender.SelectedItem.Text; if (slcLocation.Sele

我在我的ASPX页面中有一个搜索,单击该页面后会使用UpdatePanel显示一个结果,因此它会在不刷新页面的情况下显示结果。执行搜索的函数如下所示:

public void onBtnClick() { 
        Conn = new SqlConnection(cString); 
        Conn.Open(); 

        theGender = slcGender.SelectedItem.Text; 

        if (slcLocation.SelectedItem.Value == "") { 
            locVal = slcLocation.SelectedItem.Value; 
            lVal = "All Locations"; 
        } 
        if (slcLocation.SelectedItem.Value != "") { 
            locVal = slcLocation.SelectedItem.Text; 
            lVal = slcLocation.SelectedItem.Text; 
        } 
        if (slcSpecialty.SelectedItem.Value == "") { 
            speVal = slcSpecialty.SelectedItem.Value; 
            sVal = "All Specialties"; 
        } 
        if (slcSpecialty.SelectedItem.Value != "") { 
            speVal = slcSpecialty.SelectedItem.Text; 
            sVal = slcSpecialty.SelectedItem.Text; 
        } 

        if (slcGender.SelectedItem.Value == "") { 
            genVal = slcGender.SelectedItem.Value; 
            gVal = "Any Gender"; 
        } 
        if (slcGender.SelectedItem.Value != "") { 
            genVal = theGender.Substring(0, 1); 
            gVal = slcGender.SelectedItem.Text; 
        } 

        sqlCode = "SELECT * FROM [HERE]"; --example query

        /* EXECUTE AND DISPLAY THE DATA IN THE ASP PAGE */ 


        using(SqlCommand command = new SqlCommand(sqlCode, Conn)) { 
            command.CommandType = CommandType.Text; 

            using (SqlDataReader reader = command.ExecuteReader()) { 
                if (reader.HasRows) { 
                    rptContent.DataSource = reader; 
                    rptContent.DataBind(); 
                } 
                if (!reader.HasRows) { 
                    dlo.InnerHtml = "NO RESULT"; 
                } 
                int count = rptContent.Items.Count; 
                dlo.InnerHtml = "Your search in " + lVal + " by " + sVal + " and " + gVal + " returned "+count+" matches"; 
            } 
        } 
    }
我的ASPX页面中有一个标签:

<asp:Label runat="server" Text="" ClientIDMode="Static" ID="dispSearch" style="float: left;"></asp:Label>

如何在执行搜索时向上面的标签显示“搜索…请稍候”消息,并在搜索完成后显示“搜索已完成”消息

我的更新面板:

<asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            <asp:UpdateProgress ID="TaskUpdateProgress" runat="server" DynamicLayout="False" AssociatedUpdatePanelID="UpdatePanel2" DisplayAfter="0">
            <ProgressTemplate>
                <asp:Image ImageUrl="theImages/loadanim_ff.gif" Width="319px" Height="3px" runat="server" ID="TaskLoadingImage"/>
            </ProgressTemplate>
        </asp:UpdateProgress>
            <div style="width: 100%; color: #000000; font-size: 16px; font-weight: bold;" ID="dlo" ClientIDMode="Static" runat="server"></div>
<div style="width: 100%;">
    <asp:Repeater runat="server" ID="rptContent">
        <HeaderTemplate>
            <table border="0" ID="tblInfo" style="background: #43A79A; width: 100%;" ClientIDMode="Static">
                <tr>
                    <td>Physician Name</td>
                    <td>Image</td>
                    <td>Gender</td>
                    <td>Office1</td>
                    <td>Office2</td>
                    <td>Office3</td>
                    <td>Office4</td>
                </tr>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td><%# Eval("Physician Name").ToString() %></td>
                <td><img src="http://wp.com/<%# Eval("Image").ToString() %>" /></td>
                <td><%# Eval("Gender").ToString() %></td>
                <td><%# Eval("Office1").ToString() %></td>
                <td><%# Eval("Office2").ToString() %></td>
                <td><%# Eval("Office3").ToString() %></td>
                <td><%# Eval("Office4").ToString() %></td>
            </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
</div>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="btnGoAll" />
        </Triggers>
    </asp:UpdatePanel>

医生姓名
形象
性别
办公室1
办公室2
办公室3
办公室4
" />

常用的方法是使用控件。它专门设计用于在部分回发期间与UpdatePanel一起向用户显示进度。

我必须使用单独的UpdatePanel?我不希望显示进度与显示结果的位置相同。不。不是单独的更新面板。
UpdateProgress
cont用于UpdatePanel的rol。您可以随意将任何HTML元素放入其中,包括样式标签。UpdateProgress默认不可见,仅在回发一段指定时间后显示(默认为500毫秒,但这是可配置的)。因此,只需将UpdateProgress添加到表单中,将标签放在那里,然后看看会发生什么(更多示例请参见我答案中的参考链接)也许搜索速度很快,但在搜索时什么也没有显示:/这需要不到一秒钟的时间吗?你可以通过在搜索代码中添加类似于
System.Threading.Thread.Sleep(5000);
的内容来模拟减速吗?远远少于一秒钟。我应该在哪里添加这一行?在什么之间?