我试图在控件的类文件中声明变量,并在加载本身的ascx文件中使用它们但没有成功(第一次使用asp.net应用程序)
例如:
in .cs
public void OnInit()
{
int username = "John";
}
然后在ascx中:
<a href="<%=username %>">test </a>
但这会引发我没有定义用户名的错误。我也尝试过Page_Load,Init也没有成功。
答案 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>