0

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

例如:

在.cs

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

然后在 ascx 中:

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

但这会给我带来错误,即未定义用户名。我也尝试过 Page_Load,Init 也没有成功。

4

2 回答 2

1

用户名仅在 INIT/LOAD 事件中可见,为了像您一样查看它,您必须创建一个公共属性,然后从 Load/Init 事件中分配它。

public string username;

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

编辑 - 基于更新的评论

页面.cs

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

页面.aspx

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

名称.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;
}
于 2012-10-24T14:48:45.503 回答
0

对象发送者,EventArgs eUse 公共属性。

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

  < a href = "<%=username %>">test < /a>
于 2012-10-24T14:46:33.850 回答