我似乎无法找到答案.这是场景:我有一个使用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
.你是如何将这些文件链接在一起的?
归档时间: |
|
查看次数: |
190381 次 |
最近记录: |