0

Web アプリでユーザー ログインを管理するために、パブリック LoginContext クラスを使用しています。

残念ながら、LoginContext クラスをパブリックに宣言していますが、Login.aspx.cs の部分クラス Login はそれにアクセスできないようです。

私のコードは次のとおりです。

// ~/App_Code/LoginContext.cs
namespace stman
{
    public class LoginContext
    {

    }
}

// ~/Login.aspx.cs
namespace stman
{
    public partial class Login : System.Web.UI.Page
    {
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            LoginContext log = new LoginContext(); // error is here
        }
    }
}

LoginContext をインスタンス化する行に表示されるエラーは次のとおりです。

型または名前空間名 'LoginContext' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

LoginContext の新しいクラスを生成しようとすると、Web アプリのルート フォルダーに入り、LoginContext で必要なパブリック データベース クラスにアクセスできなくなります。

これらすべての問題の原因はわかりませんが、過去 18 か月にわたって専門的にこれを行ってきて学んだことに基づくと、これらの問題は今のところ存在しないはずです...

ここで物事を解決するのを手伝ってくれる人はいますか? 具体的に知りたいのは:

  1. 私が間違っていること
  2. なぜ間違っているのか
  3. 誰が修正できますか?

前もって感謝します!

EDIT
私は見てきましたが、 ~/App_Code/Database.cs の Database クラスも ~/App_Code/LoginContext.cs の LoginContext クラスも、ページまたは Web サイトのどのページにもアクセスできないようです。

4

4 に答える 4

0

これらのクラスが異なるプロジェクトにある場合、この動作を実現できます。

これが当てはまる場合は、プロジェクト名から始まるクラスへのフルパスを使用する必要があります ProjectName.stman.LoginContext

于 2013-06-12T11:29:14.033 に答える
0

コンストラクタを使用してみてください

 namespace stman
{
// Database is a class that handles the sql queries and such
public class LoginContext : Database
{
    public LoginContext () : base("Name=LoginContext")
    {

    }
}
}
于 2013-06-12T11:29:37.667 に答える
0

App_Code の動作から読み取ったことから、Web サイト プロジェクトと Web アプリケーションでは異なる場合があります。どんなプロジェクトに取り組んでいるのだろうか?考えられる解決策の 1 つは、このプロジェクトを Web アプリケーション プロジェクトで作成することです。この リンクは、このプロジェクトを作成するのに役立ちます。

ソース

于 2013-06-12T11:46:40.423 に答える