[英]how to call a variable in code behind to aspx page
我知道我已经看到了这个但是无法回想起这样做的正确方法...基本上我的.cs文件中有一个名为“string clients”的字符串变量..但是我无法将它传递给我的aspx页面的东西
<%=clients%>
请纠正我,我不记得或不确定如何做到这一点。 (对c#来说是新的)当我用谷歌搜索它时......不清楚......或者其中很多都没有...搜索过
“asp.net c# <%= %>
结果不一致..也许是因为我不知道怎么称呼这些......
必须将该字段声明为public
才能从ASPX标记中获得适当的可见性。 在任何情况下,您都可以声明一个属性:
private string clients;
public string Clients { get { return clients; } }
更新:它也可以声明为protected
,如下面的评论中所述。
然后,在ASPX端调用它:
<%=客户端%>
请注意,如果将其放在服务器标记属性上,这将不起作用。 例如:
<asp:Label runat =“server”Text =“<%= Clients%>”/>
这是无效的。 这是:
<DIV> <(%)=客户端%> </ DIV>
在你的代码隐藏文件中,有一个公共变量
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>
对于
<%=clients%>
为了工作,你需要在代码隐藏中拥有一个公共或受保护的变量clients
。
这是一篇解释它的文章: http : //msdn.microsoft.com/en-us/library/6c3yckfw.aspx
首先,您必须确保变量的访问级别受到保护或公开。 如果变量或属性是私有的,则页面将无法访问它。
代码背后
protected String Clients { get; set; }
ASPX
<span><%=Clients %> </span>
在浏览ASPX页面之前,请确保已编译* .cs文件。
您需要将您的客户变量声明为公共变量,例如
public string clients;
但你应该把它作为一个财产,例如
private string clients;
public string Clients{ get{ return clients; } set {clients = value;} }
然后你可以在你的.aspx页面中调用它:
<%=Clients%>
默认情况下,C#中的变量是私有的。 详细了解MSDN上C#中的访问修饰符和MSDN 上C#中的属性
我会创建一个属性来访问变量,如下所示:
protected string Test
{
get; set;
}
在你的标记中:
<%= this.Test %>
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();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.