2017-12-04 23 views
0

Webアプリケーションプロジェクトのコードビハインドファイルにxというプロパティがあります。それは、ウェブサイトのプロジェクト内の任意のエラーを与えるものではありませんが、私は時間のエラーをコンパイルできますWebアプリケーションプロジェクトのaspxページからのコードビハインドのプロパティへのアクセス

<%@ 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> 

分離コードファイル:私は私のウェブサイトのプロジェクトで同じ手法を使用するとき、それが正常に動作している

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

親切に助け ありがとう

答えて

0

WebForm1.aspx.csの背後にコードに他のエラーがないかどうかを確認してください。 などの参照や他のコンパイルエラーがあります。

+0

はいリファレンスに問題があります – shomaail

0

これは私のために働く。 ViewStateに価値があると確信していますか?フォームのロード時に、テストする値を追加します。

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

また、ラベルにはテキストを表示する必要があります。表示されている可能性がありますが空です。

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

問題はViewstateではありません。他のプロパティにもアクセスできません。コンパイル時にエラーが発生しています。名前 'FormMode'が現在のコンテキストに存在しません – shomaail

0

コードは完全に大丈夫です。変数/プロパティのinitillayにアクセスしている間、コンパイルエラーを示す式の下に赤い下線が表示されることがありますが、ソリューションをビルドするときにはエラーはありません。

0

元の投稿が変更されましたので、ここで新しい回答です。

コードの背後にある名前空間を削除し、ページの「継承」をInherits="WebForm1"に変更してください。

pageディレクティブ:背後

​​

コード:

using System; 

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

'継承' と一致しなければなりませんパーシャルクラス名。

関連する問題