从Web应用程序项目中的aspx页面访问代码隐藏的属性

时间:2017-12-04 13:36:32

标签: asp.net web-applications properties namespaces

我在Web应用程序项目中的代码隐藏文件中有一个属性 x 。它给了我编译时错误,但它没有在网站项目中给出任何错误

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" 
Inherits="test.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
<div>
<%= x2 %>
<%# x2 %>
</div>
</form>
</body>
</html>

Codebehind文件:

using System;
namespace test
{public partial class WebForm1 : System.Web.UI.Page
{
    public int x2 = 2;
    protected void Page_Load(object sender, EventArgs e)
    {          
    }     
   }
}

当我在我的网站项目中使用相同的技术时工作正常 请帮助 感谢

4 个答案:

答案 0 :(得分:0)

这对我有用。你确定ViewState中有值吗?在表单加载时添加一个值来测试。

ViewState["FormMode"] = "ViewApplicant";
lblMessage.DataBind();

还要确保标签上有一些要查看的文字。它可能会显示但是是空的。

<asp:Label ID="lblMessage" runat="server" 
    Text="some text" 
    Visible='<%# FormMode == "View" || FormMode == "ViewApplicant" %>'>
</asp:Label>

答案 1 :(得分:0)

你的代码完全没问题。在访问变量/属性initillay时,红色下划线可能出现在指示编译错误的表达式下,但是当您构建解决方案时,应该没有错误。

答案 2 :(得分:0)

您的原始帖子已更改,因此这是一个新答案。

尝试从后面的代码中删除命名空间,并将页面上的“继承”更改为Inherits="WebForm1"

页面指令:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"
    Inherits="WebForm1" %>
代码背后的代码:

using System;

public partial class WebForm1 : System.Web.UI.Page
{
    public int x2 = 2;
    protected void Page_Load(object sender, EventArgs e)
    {
    }     
}

'Inherits'必须与部分类名匹配。

答案 3 :(得分:0)

检查 WebForm1.aspx.cs后面的代码中是否还有其他错误。 喜欢缺少引用或任何其他编译错误。