2012-01-21 12 views
2

File-> new-> Web SiteからWebサイトを作成しました。 私はmydomain.com/piro/admin/login.aspxに行きます。 私はUser.csという名前のクラスを作成しました。このクラスはApp_Codeフォルダにあります。このWebサイトをローカルで実行すると、すべて正常に動作しますが、ファイルをサーバーに移動すると、ユーザータイプにエラーが表示されます。私は私のウェブサイトをコピーしようとしましたが、私のウェブサイトをコピーして、ftpのウェブサイトで新しいものを作成しようとしましたが、何も動かず、解決策を探しました。誰でも助けてください..! ここに私のコードです。あなたのadmin_loginクラスと同じ名前空間のUserクラス部分はタイプまたは名前空間の名前 'User'が見つかりませんでした(使用指示文またはアセンブリ参照がありませんか?)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Data; 

public partial class admin_login : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
    Label1.Text = ""; 
} 
protected void Button1_Click(object sender, EventArgs e) 
{ 
    User user = new User(); 
    user.username = txtUsername.Text; 
    user.password = txtPassword.Text; 

    User login = loggInn(user); 
    if (login == null) 
    { 
     Label1.Text = "User name or password is wrong"; 
    } 
    else 
    { 
     Session["userName"] = user.username; 
     Session["lastvisit"] = login.lastvisit; 
     Session["systemUser"] = login.role; 
     // Session["rolle"] = godkjent.rolle; 
     Response.Redirect("Default.aspx"); 
    } 
    //string loggInn = checkUserLinq(user); 

    // string check = checkUser(user); 
} 

public byte[] pass(string inn) 
{ 
    var algoritme = System.Security.Cryptography.SHA1.Create(); 
    byte[] data, utdata; 
    data = System.Text.Encoding.ASCII.GetBytes(inn); 
    utdata = algoritme.ComputeHash(data); 
    return utdata; 
} 
public User loggInn(User inn) 
{ 
    using (var db = new DataClassesDataContext()) 
    { 
     byte[] passordArray; 
     passordArray = pass(inn.password); 
     try 
     { 
      var brukere = from s in db.TUsers 
          where s.Username == inn.username && 
          s.Password == passordArray 
          select new User 
          { 
           username = s.Username, 
           email = s.Email, 
           role = s.Role, 
           lastvisit = Convert.ToDateTime(s.Lastvisit) 
          }; 
      if (brukere.Count() == 0 || brukere == null) 
      { 
       return null; 
      } 

      User user = brukere.First(); 

      char[] x = inn.username.ToCharArray(); 
      int a = x.Length; 
      char[] y = user.username.ToCharArray(); 
      for (int i = 0; i < x.Length; i++) 
      { 
       if (!y[i].Equals(x[i])) 
        return null; 
      } 
      return user; 
     } 
     catch (Exception err) 
     { 
      return null; 
     } 
    } 
} 
} 

私のweb.config

<?xml version="1.0"?> 
<configuration> 
    <connectionStrings> 
    <add name="testdbConnectionString" connectionString="Data  Source=tcp:myhost.com;Initial Catalog=testdb;User ID=testdb_user;Password=*****" 
    providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <system.web> 
    <compilation debug="false" targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> 
    </assemblies> 
    </compilation> 
    </system.web> 
</configuration> 

答えて

1

これでうまくいきました。ここでは、誰かが同じ問題に直面した場合に行ったことを書きます。

  • 解決策を右クリックし、新しいプロジェクト - > classlibrary(あなたが望む名前を付けてください)を追加してください。
  • クラスをクラスライブラリに追加します。
  • ウェブサイトを右クリックし、参照先に移動して、作成したクラスライブラリを選択します。
  • .csファイルの先頭にclasslibraryを使用して追加します。
  • ソリューションを構築します。
  • binフォルダをルートディレクトリに移動/コピーします。

ウェブサイトをサーバーにアップロードするときは非常に複雑だと思います。すべてがローカルで正常に動作します。多くの仕事をした後、サーバにアップロードする際に、ローカルでの作業が困難になります!

0

ですか?そうでない場合は、上部にusing YourUserClassNamespace;を追加する必要があります。

+1

User.csはApp_Codeフォルダにあります。 App_Codeフォルダは、管理フォルダと同じルートディレクトリにあります。私はlogin.aspxファイルをApp_Codeフォルダと同じレベルに移動しようとしましたが、助けにはなりませんでした。 – kamiran

+0

@kamiranファイルとフォルダ構造をすべて移動してもよろしいですか? 'App_Code'フォルダと内容は実行時にコンパイルされます。 –

+0

私はファイルを移動したことを確信しています。私はコンパイルについて読んだことで、asp.netはapp_codeフォルダにあるファイルをコンパイルします。私はいくつかのファイルを移動して、一旦展開ウェブサイトを試みた後、一旦コピーウェブサイトを作成し、一旦filezillaを使用してサーバー上にファイルを作成しました。誰も働かない。 : – kamiran

関連する問題