我知道我已经看到这个,但不能回想一下这样做的正确方法......基本上我的一个字符串变量在我的.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