Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 设置一个类来存储可在整个应用程序中使用的常量值_Asp.net - Fatal编程技术网

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

Asp.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也没有成功。对象发

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

例如:

in.cs

    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;
}