it-swarm.cn

如何在aspx页面后面的代码中调用变量

我知道我已经看到了这一点,但是却想不起来正确的方法...基本上,我的.cs文件中有一个名为“字符串客户端”的字符串变量。但是我无法将其传递给我的aspx页面类似

<%=clients%>  

请纠正我,我不记得或不确定如何执行此操作。 (是C#的新功能),当我用Google搜索它时..尚不清楚..或其中没有很多..

“ asp.net c#<%= %>不一致的结果。。也许是因为我不知道如何称呼这些。

36
user710502

为了从ASPX标记正确可见,必须将该字段声明为public。无论如何,您都可以声明一个属性:


private string clients;
public string Clients { get { return clients; } }

PDATE:也可以声明为protected,如下面的注释所述。

然后,在ASPX端调用它:

<%=客户%>

请注意,如果将其放置在服务器标签属性上,则将无法使用。例如:

<asp:标签runat =“服务器”文本=“ <%= Clients%>” />

这是无效的。这是:

<div> <%= Clients%> </ div>

57

在文件后面的代码中,有一个公共变量

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>
27
balexandre

For

<%=clients%>

要工作,您需要在后面的代码中有一个公共或受保护的变量clients

这是一篇解释它的文章: http://msdn.Microsoft.com/zh-cn/library/6c3yckfw.aspx

9
Maxim V. Pavlov

首先,您必须确保变量的访问级别是受保护的或公共的。如果变量或属性是私有的,则页面将无法访问它。

背后的代码

protected String Clients { get; set; }

Aspx

<span><%=Clients %> </span>
6
Cris Valenzuela

浏览ASPX页面之前,请确保已编译* .cs文件。

6
Mark Cidade

您需要将客户变量声明为public,例如.

public string clients;

但您可能应该将其作为属性来执行,例如.

private string clients;
public string Clients{ get{ return clients; } set {clients = value;} }

然后,您可以在.aspx页面中调用它,如下所示:

<%=Clients%>

默认情况下,C#中的变量是私有的。阅读有关MSDN上C#中的 访问修饰符 和MSDN上C#中的 属性的更多信息

4
Tchami

我将创建一个属性来访问变量,如下所示:

protected string Test
{
    get; set;
}

在您的标记中:

<%= this.Test %>
2
James Johnson

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#";
        }
    }
}
1
Skitty

您可以使用数据绑定表达式<%# 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();
        }

}

0
M.Hassan