#c# #asp.net #oop
#c# #asp.net #ооп
Вопрос:
Как получить доступ к элементу формы в частичном классе внутри другого класса?Например;
public class BusinessLayer{ //I wanna access Login class in here }
public partial class Login : System.Web.UI.Page{ }
Комментарии:
1. Я не знаю ваших настроек, но я бы не хотел добавлять представление (aspx-страницу) к своему бизнес-уровню. Попробуйте вместо этого передать данные.
2. Согласен с @MartijnB Если бы мне абсолютно необходимо было передать часть уровня представления на бизнес-уровень, я бы определил интерфейс на бизнес-уровне, реализовал его в классе Login и передал его как этот интерфейс. Тем не менее, было бы предпочтительнее полностью избегать этого.
Ответ №1:
Вам нужно передать ссылку на BusinessLayer
конструктор
public class BusinessLayer {
private Login _login;
public BusinessLayer(Login login) {
_login = login;
}
}
public partial class Login : System.Web.UI.Page() {
public void Method() {
BusinessLayer layer = new BusinessLayer(this);
...
}
}
Обратите внимание, что эта проблема имеет мало / ничего общего с partial class
типами. Та же проблема была бы применима и к стандартным class
типам
Комментарии:
1. Во-первых, @JaredPar большое вам спасибо за помощь. Но я не создаю экземпляр Login в классе BusinessLayer. Тем временем войдите в класс веб-формы (Login.aspx), BusinessLayer в папку App_Code.