设置一个类来存储可在整个应用程序中使用的常量值

时间:2012-10-24 14:40:40

标签: asp.net

我试图在控件的类文件中声明变量,并在加载本身的ascx文件中使用它们但没有成功(第一次使用asp.net应用程序)

例如:

in .cs

    public void OnInit()
    {
        int username = "John";
    }

然后在ascx中:

<a href="<%=username %>">test </a>

但这会引发我没有定义用户名的错误。我也尝试过Page_Load,Init也没有成功。

2 个答案:

答案 0 :(得分:1)

用户名仅在INIT / LOAD事件中可见,为了像你一样对其进行操作,你必须创建一个公共属性,然后在Load / Init事件中分配它。

public string username;

public void Page_Load(object sender, EventArgs e)
{
   username = "john smith";
}

编辑 - 基于更新的评论

page.cs

protected void Page_Load(object sender, EventArgs e)
{
    NameControl1.strUsername = "John";
}

page.aspx

<%@ Register Src="~/Name.ascx" TagName="Name" TagPrefix="TEST" %>
<TEST:Name ID="NameControl1" runat="server" />

name.ascx.cs

public int strUsername;
private int Username
{
    get{return strUsername;}
    set{strUsername = value;}
}
protected void Page_Load(object sender, EventArgs e)
{
    label1.Text = Username;
}

答案 1 :(得分:0)

object sender,EventArgs eUse public property。

   public string username{set;get;}
    public void Page_Load()
    {
        username = "John";
    }    
In  ascx :

  < a href = "<%=username %>">test < /a>