我知道我已經看到這個,但不能回想一下這樣做的正確方法......基本上我的一個字符串變量在我的.cs文件中被稱爲「字符串客戶端」。但我沒有能夠將它傳遞給我的aspx頁面像如何在代碼後面調用一個變量到aspx頁面
<%=clients%>
請糾正我,我不記得或不知道如何做到這一點。 (新的C#),當我GOOGLE了..它不清楚..或不是很多這些在那裏..搜索爲
「asp.net c#<%= %>
不一致的結果..也許因爲我不知道。如何調用這些..
我知道我已經看到這個,但不能回想一下這樣做的正確方法......基本上我的一個字符串變量在我的.cs文件中被稱爲「字符串客戶端」。但我沒有能夠將它傳遞給我的aspx頁面像如何在代碼後面調用一個變量到aspx頁面
<%=clients%>
請糾正我,我不記得或不知道如何做到這一點。 (新的C#),當我GOOGLE了..它不清楚..或不是很多這些在那裏..搜索爲
「asp.net c#<%= %>
不一致的結果..也許因爲我不知道。如何調用這些..
的字段必須聲明public
從ASPX標記正確的知名度在任何情況下,你可以聲明一個屬性:
private string clients;
public string Clients { get { return clients; } }
UPDATE:也可以申報如protected
所述,如下面的評論所述。
然後調用它的ASPX側:
<%=客戶端%>
請注意,如果你把它放在一個服務器標記屬性這是不行的。例如:
< ASP:標籤RUNAT = 「服務器」 文本= 「<%=客戶端%>」/>
這是無效的。這就是:
< DIV> <%=客戶端%> </DIV>
對於
<%=clients%>
工作,你需要有一個公共或受保護的變量clients
代碼隱藏。
這裏是一個解釋的文章吧: http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx
你需要聲明你的客戶爲public,例如變量
public string clients;
,但你應該做它作爲一個屬性,例如
private string clients;
public string Clients{ get{ return clients; } set {clients = value;} }
然後你就可以調用它在.aspx頁面是這樣的:在C#
<%=Clients%>
變量默認都是私有的。閱讀更多關於access modifiers in C# on MSDN和properties in C# on MSDN
首先,您必須確保變量的訪問級別是受保護或公開的。如果變量或屬性是私人的,頁面將無法訪問它。
代碼隱藏
protected String Clients { get; set; }
.aspx的
<span><%=Clients %> </span>
確保您已經瀏覽ASPX頁面之前編譯您的* cs文件。
這是我的問題。在從ASPX調用它之前,必須先構建該項目,否則您將獲得智能感知,將其標記爲不存在。 –
我想創建一個屬性來訪問變量,就像這樣:
protected string Test
{
get; set;
}
而且在你的標記:
<%= this.Test %>
在隱藏文件代碼中,有一個公共變量
public partial class _Default : System.Web.UI.Page
{
public string clients;
protected void Page_Load(object sender, EventArgs e)
{
// your code that at one points sets the variable
this.clients = "abc";
}
}
現在在您的設計代碼中,只需將其分配給如下內容:
<div>
<p><%= clients %></p>
</div>
甚至javascript變量
<script type="text/javascript">
var clients = '<%= clients %>';
</script>
的HelloFromCsharp.aspx
這個樣子的
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HelloFromCsharp.aspx.cs" Inherits="Test.HelloFromCsharp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<p>
<%= clients%>
</p>
</form>
</body>
</html>
而且HelloFromCsharp.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Test
{
public partial class HelloFromCsharp : System.Web.UI.Page
{
public string clients;
protected void Page_Load(object sender, EventArgs e)
{
clients = "Hello From C#";
}
}
}
您可以使用訪問公共/保護財產數據綁定表達<%# myproperty %>
,如下所示:
<asp:Label ID="Label1" runat="server" Text="<%#CodeBehindVarPublic %>"></asp:Label>
你應該調用DataBind方法,否則就無法進行評估。
public partial class WebForm1 : System.Web.UI.Page
{
public string CodeBehindVarPublic { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
CodeBehindVarPublic ="xyz";
//you should call the next line in case of using <%#CodeBehindVarPublic %>
DataBind();
}
}
的[擺脫代碼後面的財產到aspx頁面]可能重複(http://stackoverflow.com/questions/1924309/get-property-from-code-behind-into-aspx -page) – onof