如何在ASPX页面中访问变量?

时间:2014-09-21 03:04:05

标签: c# asp.net

ASPX:

<form id="form1" runat="server">
    <%
       int a = 25;
    %>
    <asp:Label ID="Label1" runat="server" 
         Text='<%#a %>'></asp:Label>
</form>

代码背后:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
       DataBind();
    }
}

错误:

  

当前上下文中不存在名称“a”

3 个答案:

答案 0 :(得分:0)

找到解决方案:

ASPX:

<form id="form1" runat="server">
    <asp:Label ID="Label1" runat="server" 
         Text="<%#a %>"></asp:Label>
</form>

代码背后:

public int a;
protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
      a = 25;
      DataBind();
   }
}

答案 1 :(得分:0)

这种方式可行.. ASPX:

<form id="form1" runat="server">
         <asp:Label ID="Label1" runat="server"></asp:Label>
</form>
代码背后的代码:

public int a;
protected void Page_Load(object sender, EventArgs e)
{
   if (!IsPostBack)
   {
      a = 25;
    Label1.Text=a.ToString();
   }
}

答案 2 :(得分:0)

需要注意的是,aspx文件是由System.Web.UI.Page类编译成一个类,它实现了IHttpHandler,创建的类继承了aspx.cs / aspx.vb,这解释了继承&lt;%@ Page%&gt; 指令中的,并且通过逻辑,您无法在后面的代码中引用aspx代码块中声明的变量。
作为一种解决方法,您可以在代码中声明protected成员,并从代码块中访问它们。