Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在c#web表单中以编程方式更改标签文本_C#_Label - Fatal编程技术网

在c#web表单中以编程方式更改标签文本

在c#web表单中以编程方式更改标签文本,c#,label,C#,Label,我在网上搜索了一遍又一遍,这似乎很简单,但不知怎么的,它不起作用 我正在尝试用C#创建一个web表单应用程序。 Button1应该从网站下载大量数据,我希望Label1在Button1中的代码运行时显示“下载”,在代码完成后显示“完成”,但单击按钮后Label1根本不会改变 代码如下: protected void Button1_Click(object sender, EventArgs e) { Label1.Text = "downloading"

我在网上搜索了一遍又一遍,这似乎很简单,但不知怎么的,它不起作用

我正在尝试用C#创建一个web表单应用程序。 Button1应该从网站下载大量数据,我希望Label1在Button1中的代码运行时显示“下载”,在代码完成后显示“完成”,但单击按钮后Label1根本不会改变

代码如下:

protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "downloading";
            //code for downloading data
            Label1.Text = "done";
        }

那是行不通的。这些都是服务器端代码。在按钮单击处理程序完成执行之前,更新的HTML不会发送回浏览器。因此,浏览器将只看到“完成”标签文本。永远不要“下载”文本


实现所需效果的最简单方法是在提交表单之前使用客户端javascript(可能使用jquery)将标签文本更新为“下载”。您可以将客户端javascript放在asp.net按钮的OnClientClick属性中。然后,服务器端代码可以下载数据并将标签文本更改为done

我不知道这是否仍然有用,因为这篇文章已经很老了,但我在寻找我自己问题的答案时偶然发现了这个问题

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text = "downloading";
    //code for downloading data
    Label1.Text = "done";
    Label1.Refresh;
}

更改标签文本后,只需使用Label1.Update()函数。

如果要将文本从下载更改为完成,则可以执行以下操作:

Label lbl = (Label)this.FindControl("Label1");
                    if (lbl != null)
                    {
                        lbl.Text =  "done";
                    }
你确定“Label1”是正确的吗?另外,数据下载是否正确,或者整个功能是否不起作用?