首页 > 解决方案 > C# 用户名由于其保护级别而无法访问

问题描述

我需要在属性NavigateUrl上传递变量username的值的HyperLink标记。

当c#给出这个编译错误?

C# 用户名由于其保护级别而无法访问

我的代码如下。

    string[] strMat;
    string username;


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            username = Page.User.Identity.Name.ToLower();
            strMat = username.Split('\\');

            if (strMat.Length > 0)
            {
                username = strMat[strMat.Length - 1];
            }
        }
    }




<asp:HyperLink ID="HyperLink1" 
               runat="server" 
               NavigateUrl='<%# String.Format("Default.aspx?id={0}", username.ToString().ToUpper()) %>' >
</asp:HyperLink>

标签: asp.net

解决方案


如果未指定,则默认为“私有”。将其更改为“公开”。更好的是,让它成为一个属性:

public string UserName { get; set; }

推荐阅读