Asp.net 设置一个类来存储可在整个应用程序中使用的常量值
我试图在控件的类文件中声明变量,并在加载时在ascx文件中使用它们,但没有成功(第一次使用asp.net应用程序) 例如: in.csAsp.net 设置一个类来存储可在整个应用程序中使用的常量值,asp.net,Asp.net,我试图在控件的类文件中声明变量,并在加载时在ascx文件中使用它们,但没有成功(第一次使用asp.net应用程序) 例如: in.cs public void OnInit() { int username = "John"; } 然后在ascx中: <a href="<%=username %>">test </a> 但这给我带来了一个错误,用户名没有定义。我尝试了Page_Load,Init也没有成功。对象发
public void OnInit()
{
int username = "John";
}
然后在ascx中:
<a href="<%=username %>">test </a>
但这给我带来了一个错误,用户名没有定义。我尝试了Page_Load,Init也没有成功。对象发送者,EventArgs eUse公共属性
public string username{set;get;}
public void Page_Load()
{
username = "John";
}
In ascx :
< a href = "<%=username %>">test < /a>
公共字符串用户名{set;get;}
公共无效页面加载()
{
用户名=“约翰”;
}
在ascx中:
测试
用户名仅在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" />
另外,您还需要将username变量分配给字符串,而不是一个有效的int,我在函数之前丢失了声明…多亏了lotYeah Colin,实际上函数在这里进行了一点操作,所以错误地将其错写了…:)除了添加控制文件外,它在任何地方都能工作……就像我用John重放用户名一样,效果很好,但是当我使用用户名时,它会抛出错误解析器错误消息:服务器块的格式不正确。这是因为你不能在寄存器标记中嵌入变量。在这种情况下,需要在注册控件的页面的Page_Load事件中指定属性,例如:name.strUsername=“john”,其中控件中有公共字符串strUsername{get;set;}。查找“参数传递到控件”Hi-Pmtamal,它工作得很好,但在OnInit上不起作用,,,,,我不得不使用Page_load,但非常感谢您让我有了声明变量的想法
public int strUsername;
private int Username
{
get{return strUsername;}
set{strUsername = value;}
}
protected void Page_Load(object sender, EventArgs e)
{
label1.Text = Username;
}