2014-09-21 68 views
0

ASPX:如何訪問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(); 
    } 
} 

錯誤:

The name 'a' does not exist in the current context

+0

你也許試試吧'<%=a %>' – pushpraj 2014-09-21 03:09:27

+0

不行........ – 2014-09-21 03:11:05

+0

不行。 'Text ='<%#a %>'>' - 您只需將字符串設置爲文本。我想,你需要在代碼中完成它:'<%Label1.Text = a>%'。 – 2014-09-21 04:13:21

回答

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(); 
    } 
} 
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(); 
    } 
} 
0

什麼要注意的,就是aspx文件編譯通過實現IHttpHandler的System.Web.UI.Page類來創建一個類,創建的類繼承aspx.cs/aspx.vb,它解釋了繼承了中的<%@ Page%>指令,並且通過邏輯,您不能引用在代碼後面的aspx代碼塊中聲明的變量。
作爲解決方法,您可以在後面的代碼中聲明protected成員,並訪問代碼塊中的成員。

相關問題