2013-05-22 5 views
3

Я объявил пространство имен в Feed.aspx.cs. Это пространство имен содержит класс и этот класс содержит метод: Feed.aspx.csВызов метода из другого класса из другого файла C#

namespace GetUser 
{ 
public class MyFeedClass 
{ 
    public string getUserID() 
    { 

     MembershipUser user = Membership.GetUser(HttpContext.Current.User.Identity.Name); 
     HttpContext.Current.Session["x"] = user.ProviderUserKey.ToString(); 
     string test = (string)HttpContext.Current.Session["x"]; 
     return test; 
    } 

} 

}

Теперь из MyPage.aspx.cs, я хотел бы назвать getUserID(). Как я могу это сделать?

ответ

5

Я думаю, вы используете Asp.NET?

Вы должны создать новый класс внутри вашей папки add_code. Переместить это пространство имен и класс внутри нового созданного класса

Затем вызовите его из вашего Feed.aspx.cs:

GetUser.MyFeedClass myfeed = new GetUser.MyFeedClass(); 
string result = myfeed.getUserID(); 
+0

Да, и эта ошибка выскакивает: тип или пространство имен имя «GetUser» не может быть найден (вы пропали без вести с помощью директивы или ссылка на сборку?) –

+0

Не объявляйте пространство имен и класс внутри aspx.cs, создайте новый класс внутри папки app_code –

+0

Спасибо! Это сделало трюк :) –

0

Убедитесь, что вы включили пространство имен в коде-за:

using GetUser; 

Сделать публичную функцию статического один в MyFeedClass:

public static string getUserID() {...} 

Затем на странице aspx.cs теперь вы можете попробовать сделать:

string userId = MyFeedClass.getUserID(); 
+0

Я пробовал использовать «GetUser;» и он показывал ту же ошибку - «Тип или имя пространства имен« GetUser »не удалось найти». Я проработал с вышеупомянутыми предложениями :) спасибо в любом случае! –

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