如何在页面加载时从代码后面设置ASP.NET标签文本?

Dav*_*der 21 asp.net label

我似乎无法找到答案.这是场景:我有一个使用C#的ASP.NET项目.我正在使用C#(使用ADO)从sqlite数据库加载数据(用户名,电子邮件等).我将把数据加载到App_Data文件夹中的类文件中的静态全局变量中.我需要能够在加载期间将用户名插入页面上的ASP.NET标签.

在PHP中,我会这样做:

<?php
function GetUserName() {
//code which retrieves username from db.
return username;
}
?>
<p>Here is the username: <?php echo GetUserName(); ?></p>
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这是怎么做到的?我是ASP.NET的新手.

这是更新细节的更新.我试过你们的建议.我的页面加载函数位于名为RankPage.aspx.cs的文件中,下面的表格位于RankPage.aspx中.我的想法是列出我从数据库中检索到的一堆用户.我投入'myLabel'只是为了测试它.现在,在我的代码中没有声明"myLabel"的情况下,错误是"myLabel"在当前上下文中不存在.如果我使用FindControl()函数声明'myLabel',我会得到一个运行时异常,即'myLabel'未设置为对象的实例.

这是代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        Label myLabel = this.FindControl("myLabel") as Label;
        myLabel.Text = "my text";
    }
}

<table>
    <tbody>
        <tr>
            <th>Name</th>
            <th>Score</th>
        </tr>

        <tr>
            <td>name</td>
            <td>Score</td>
        </tr>

        <!-- Current User -->
        <tr>
            <td><asp:Label id="currentUserName" runat="server"></asp:Label></td>
            <td><asp:Label id="currentUserScore" runat="server"></asp:Label></td>
            <td><asp:Label ID="myLabel" runat="server" /></td>
        </tr>
        <!-- End Current User -->

    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 30

对于这个标签:

<asp:label id="myLabel" runat="server" />
Run Code Online (Sandbox Code Playgroud)

在使用后面的代码(C#):

myLabel.Text = "my text"; 
Run Code Online (Sandbox Code Playgroud)

更新(更新后的问题):

你不需要使用FindControl- 整条线是多余的:

  Label myLabel = this.FindControl("myLabel") as Label;
  myLabel.Text = "my text";
Run Code Online (Sandbox Code Playgroud)

应该只是:

  myLabel.Text = "my text";
Run Code Online (Sandbox Code Playgroud)

Visual Studio设计器应该创建一个文件,其中所有服务器端控件已经正确添加到类中(RankPage.aspx.designer.cs默认情况下在文件中).

你在谈论一个RankPage.cs文件 - 这是Visual Studio命名的方式RankPage.aspx.cs.你是如何将这些文件链接在一起的?