将.aspx.cs文件中的变量传递给要显示的.aspx文件?

时间:2014-09-11 12:36:06

标签: c# asp.net

我尝试使用以下代码从活动目录中获取用户的姓名和姓氏:

Default.aspx.cs:

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // get the user's name from active dirctory
        var user = UserPrincipal.Current;

        string firstName = user.GivenName;
        string lastName = user.Surname;
    }
}

Default.aspx的:

<p class="text-center"><strong><% =firstName =lastName %></strong></p>

但是,我得到一个错误,说当前上下文中不存在变量。

我已尝试将公开放在两个字符串的前面,但之后我收到一条错误,说它是一个无效的表达式术语。

任何建议都会很棒,谢谢

1 个答案:

答案 0 :(得分:4)

您的变量仅限于一个方法。为了使继承对象(页面)能够看到它们,它们必须是protected(或以上)类级成员。像这样:

protected string FirstName { get; set; }
protected string LastName { get; set; }

然后在你的方法中:

protected void Page_Load(object sender, EventArgs e)
{
    // get the user's name from active dirctory
    var user = UserPrincipal.Current;

    FirstName = user.GivenName;
    LastName = user.Surname;
}

在页面上:

<p class="text-center"><strong><% =FirstName %> <% =LastName %></strong></p>