2

我正在使用 ASP.NET 框架。在我的欢迎页面中(用户登录后),我想自定义段落文本以包含他们的登录信息。例如:

<p>
   Welcome to the website!
</p>

是目前的代码,但我想要的是:

<p>
       Welcome <var=Username> to the website!
</p>

现在显然这是不正确的,我没想到会这样。我只是想展示我正在尝试做的事情。我曾想过使用 JavaScript 以某种方式完成此任务,但这似乎有点过于复杂。我的变量“用户名”来自其他地方的 .cs 文件中的另一个类。如何将该变量嵌入到我的<p></p>?

4

7 回答 7

4

在标记中添加标签:

<p>
       Welcome <asp:Label ID="lblUsername" runat="server" /> to the website!
</p>

然后在后面的代码中:

protected void Page_Load(object sender, EventArgs e)
{
    lblUsername.Text = "username";  // set to the username variable here
}
于 2012-12-28T18:03:49.727 回答
3

您可以使用一个<asp:Literal代替您的标记,然后在 Page_Load 根据需要设置值ltUsername.Text = UserName;

<p>Welcome <asp:Literal ID="ltUsername" runat="server" /> to the website</p>

在你的代码后面

protected void Page_Load(object sender, EventArgs e)
{
    ltUsername.Text = Username; // whatever that may be
}

文字只输出您提供的内容 - 而 asp:Label 会将您的文本包装在<span>标签中并添加额外的标记,这可能会造成混淆。出于这个原因,我只asp:Label用于实际<label>元素(与 相关联的元素input)。

于 2012-12-28T18:04:04.253 回答
2

如果该变量来自另一个类,您将需要一种以某种方式存储它的方法。一种方法是将其放入会话中。

所以在你的“其他”课上

Session["myVariable"] = variable;

然后在要设置“欢迎“变量”到网站”的页面中,执行以下操作:

首先,创建一个属性:

public string name {get;set;}

然后,在您的 page_load 中:

 protected void Page_Load(object sender, EventArgs e)
   {
          name = Session["myVariable"]
   }

然后只需将以下代码放入您的 .aspx 页面中:

 Hello <%= name %> , welcome to the website!

或者你也可以这样做:

页面加载:

Label1.Text = Session["myVariable"].ToString();

.aspx:

Hello, <asp:Label ID="Label1" runat="server" /> welcome to the website.
于 2012-12-28T18:05:23.873 回答
1

在 HTML 中

<p>
       Welcome <asp:Label ID="lblUserName" runat="server"></asp:Label> to the website!
</p>

然后在 Page_Load 中的 .cs 文件中

lblUserName.Text = {The User's First Name}

如果您发布更多关于如何进行身份验证的代码,那么我可以{The Users First Name} 用实际代码替换。现在只需自己使用它来输入名字代码

于 2012-12-28T18:04:22.677 回答
1

您将不得不使用服务器端控件,即标签、文本框并执行以下操作:

<asp:Label id="username" runat="server" />

上述派对进入您的标记部分。

然后在您的Page_Load活动或用户名属性位于填充的 .cs 文件中的位置上,您可以执行以下操作:

  username.Text = User;
于 2012-12-28T18:04:30.970 回答
0

我建议您浏览一个教程网站并熟悉语法和结构。一个好的起点是这里,http://www.w3schools.com/aspnet/default.asp(天哪,我已经可以想象对此的反馈了;))

你想要完成的事情非常简单,你也可以安装一些随 Visual Studio 一起提供的模板(如果你有的话)......有些完全符合你想要实现的目标。

祝你好运!

于 2012-12-28T18:07:45.660 回答
0

我会说最好的方法是使用:

var page=HttpContext.Current.Handler as Page;

比:

page.Header.Controls.Add(literalcontrol);

那么你可以从一个类中使用它,并且不需要在后面的每个代码上写它。

于 2015-02-11T12:57:48.293 回答