C# 无法从.aspx页访问代码隐藏变量

C# 无法从.aspx页访问代码隐藏变量,c#,html,asp.net,code-behind,C#,Html,Asp.net,Code Behind,我在aspx.cs页面中有一个名为VersionNumber的变量: namespace App_name { public partial class Default : System.Web.UI.Page { public string VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); protected void Page_

我在aspx.cs页面中有一个名为VersionNumber的变量:

namespace App_name
{
  public partial class Default : System.Web.UI.Page
  {
    public string VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
    protected void Page_Load(object sender, EventArgs e)
    {

    }
  }
}
这个变量应该可以在.aspx页面中访问,但实际上有一条红色的曲线告诉我它在这个上下文中不存在:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="App_name.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>App Name <%=VersionNumber %></title>
<script type="text/javascript" src="scripts/jquery-1.12.4.js"></script>
<script type="text/javascript" src="bs/js//bootstrap-typehead.js?<%=VersionNumber %>"></script>
<script type="text/javascript" src="scripts/Default.js?<%=VersionNumber %>"></script>
<script type="text/javascript" src="scripts/Helper.js?<%=VersionNumber %>"></script>

应用程序名称
等等

如何在.aspx页面中访问VersionNumber?
谢谢

我已经测试了您的代码,并得出以下解决方案:

cs文件应如下所示,而不更改aspx页面:

namespace Solution_History
{
    public partial class Default : System.Web.UI.Page
    {
        public string VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}
如果不将命名空间添加到cs文件,则aspx中的第一行应为:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %

我已经测试了您的代码,并得出以下解决方案:

cs文件应如下所示,而不更改aspx页面:

namespace Solution_History
{
    public partial class Default : System.Web.UI.Page
    {
        public string VersionNumber = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
        protected void Page_Load(object sender, EventArgs e)
        {

        }
    }
}
如果不将命名空间添加到cs文件,则aspx中的第一行应为:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %

我的问题的解决方案是在aspx页面的继承部分写入名称空间和类名,如下所示:

Inherits="Solution_History.Default"

我的问题的解决方案是在aspx页面的继承部分写入名称空间和类名,如下所示:

Inherits="Solution_History.Default"


你能显示公共字符串VersionNumber的代码吗?请显示aspx文件的前8行。使用这两个请求更新的帖子我将首先向公共字符串VersionNumber=添加一个值,如“2.0”,以确保它显示。如果在这里显示问题最明显:System.Reflection…尝试硬编码一个值,但仍然是同一个问题,aspx页面显示“VersionNumber在当前上下文中不存在”你能显示公共字符串VersionNumber的代码吗?请显示aspx文件的前8行。使用这两个请求更新的帖子我将首先向公共字符串VersionNumber=添加一个值,如“2.0”,以确保它显示。如果这里显示问题最明显:System.Reflection…尝试硬编码一个值,但仍然是同一个问题,aspx页面显示“VersionNumber在当前上下文中不存在”,感谢您的帮助。那个代码看起来和我发布的代码一模一样?我看不出有什么不同。我没有在上面添加它,但我有一个名称空间,我想你需要添加它才能工作,我是说名称空间。我看不出aspx页面如何访问后面的代码。试着模仿我的例子。他们在我的测试页面上工作,就像adn应该工作一样。是的,我想说的是它已经被添加了,我只是没有在我的问题中包含它。我只是复制粘贴了你的代码,我仍然得到同样的错误。真奇怪,我明白了。我会为测试创建一个新页面。只是代码没有名字空格,等等。看看它是否有区别。你的页面一定和我的页面不一样。我的版本是0.0.0.0,因为我只是一个网站。谢谢你的帮助。那个代码看起来和我发布的代码一模一样?我看不出有什么不同。我没有在上面添加它,但我有一个名称空间,我想你需要添加它才能工作,我是说名称空间。我看不出aspx页面如何访问后面的代码。试着模仿我的例子。他们在我的测试页面上工作,就像adn应该工作一样。是的,我想说的是它已经被添加了,我只是没有在我的问题中包含它。我只是复制粘贴了你的代码,我仍然得到同样的错误。真奇怪,我明白了。我会为测试创建一个新页面。只是代码没有名字空格,等等。看看它是否有区别。你的页面和我的页面肯定有些不同。我确实得到了0.0.0.0版本,因为我只是一个网站。