首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在页面加载时从代码后台设置ASP.NET标签文本?

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

Stack Overflow用户
提问于 2011-03-17 05:24:52
回答 6查看 207.8K关注 0票数 22

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

在PHP中,我会这样做:

代码语言:javascript
复制
<?php
function GetUserName() {
//code which retrieves username from db.
return username;
}
?>
<p>Here is the username: <?php echo GetUserName(); ?></p>

有人能解释一下这是怎么做到的吗?我是ASP.NET的新手。

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

代码如下:

代码语言:javascript
复制
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>
EN

回答 6

Stack Overflow用户

发布于 2011-03-17 05:28:56

如果你只是把代码放在页面上,通常代码后面会有一个自动生成的字段供你使用,如@Oded所示。

在其他情况下,您始终可以使用以下代码:

代码语言:javascript
复制
Label myLabel = this.FindControl("myLabel") as Label; // this is your Page class

if(myLabel != null)
   myLabel.Text = "SomeText";
票数 3
EN

Stack Overflow用户

发布于 2011-03-17 05:27:25

在您的ASP.NET页面中:

代码语言:javascript
复制
<asp:Label ID="UserNameLabel" runat="server" />

在你的后台代码中(假设你使用的是C#):

代码语言:javascript
复制
function Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
       UserNameLabel.Text = "User Name";
    }
}
票数 2
EN

Stack Overflow用户

发布于 2016-12-19 02:17:29

我知道这是很久以前发布的,它已经被标记为已回答,但对我来说,选择的答案没有回答我以为用户在摆姿势的问题。在我看来,他正在寻找一种可以在ASP .Net中采用的方法,这种方法与他之前在php中执行的内联数据绑定相对应。

下面是他的php:

代码语言:javascript
复制
<p>Here is the username: <?php echo GetUserName(); ?></p>

下面是在ASP .Net中要做的事情:

代码语言:javascript
复制
<p>Here is the username: <%= GetUserName() %></p>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5331968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档