2012-01-21 4 views
2

Я создал веб-сайт с сайта File-> new-> Web. Я пытаюсь перейти на mydomain.com/piro/admin/login.aspx Я создал класс с именем User.cs, этот класс находится в папке App_Code. когда я запускаю этот веб-сайт локально, все работает нормально, но когда я перемещаю свои файлы на сервер, я получаю ошибку в типе пользователя. я попытался развернуть свой сайт, скопировать мой сайт, создать новый на ftp-сайте, но ничего не работает, я искал решение, но не смог найти ответа на мою проблему. может любой кто-нибудь помогите ..! вот мой код.Не удалось найти имя или имя пространства имен «Пользователь» (вам не хватает директивы using или ссылки на сборку?)

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 (имя, которое вы хотите).
  • Добавить классы в классную библиотеку.
  • Щелкните правой кнопкой мыши на веб-сайте и перейдите к addreferences, выберите только что созданную классную библиотеку.
  • Добавить с помощью классной библиотеки в верхней части файлов .cs.
  • Построить решение.
  • Переместить/скопировать папку bin в корневой каталог.

Я думаю, что это очень сложно при загрузке веб-сайта на сервер; все работает нормально на месте. После много работы локально все становится тяжело при загрузке на сервер!

0

ли User класс часть одного и того же пространства имен в качестве admin_login класса? Если это не так, то вам нужно добавить еще 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

Смежные вопросы

 Смежные вопросы