我正在尝试在控件的类文件中声明变量,并在加载本身时在 ascx 文件中使用它们但没有成功(第一次做 asp.net 应用程序)
例如:
在.cs
public void OnInit()
{
int username = "John";
}
然后在 ascx 中:
<a href="<%=username %>">test </a>
但这会给我带来错误,即未定义用户名。我也尝试过 Page_Load,Init 也没有成功。
我正在尝试在控件的类文件中声明变量,并在加载本身时在 ascx 文件中使用它们但没有成功(第一次做 asp.net 应用程序)
例如:
在.cs
public void OnInit()
{
int username = "John";
}
然后在 ascx 中:
<a href="<%=username %>">test </a>
但这会给我带来错误,即未定义用户名。我也尝试过 Page_Load,Init 也没有成功。
用户名仅在 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;
}
对象发送者,EventArgs eUse 公共属性。
public string username{set;get;}
public void Page_Load()
{
username = "John";
}
In ascx :
< a href = "<%=username %>">test < /a>