我似乎找不到答案了.这是场景:
我有一个使用C#的ASP.NET项目.我正在使用C#(使用ADO)从sqlite数据库中加载数据(用户名,电子邮件等).我将在App_Data文件夹中的类文件中将数据加载到静态全局变量中.我需要能够在加载时将用户名插入到页面上的ASP.NET标签中.
我有一个使用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>
任何人都可以解释这是怎么做到的?我是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>
解决方法
对于此标签:
<asp:label id="myLabel" runat="server" />
在代码背后使用(C#):
myLabel.Text = "my text";
更新(更新后的问题):
您不需要使用FindControl – 整行是多余的:
Label myLabel = this.FindControl("myLabel") as Label; myLabel.Text = "my text";
应该是:
myLabel.Text = "my text";
Visual Studio设计器应该创建一个文件,其中所有服务器端控件已经正确添加到该类(默认情况下在RankPage.aspx.designer.cs文件中).
你正在谈论一个RankPage.cs文件 – Visual Studio将命名它的方式是RankPage.aspx.cs.如何将这些文件链接在一起?