Я не прикасался к веб-формам ASP.NET уже несколько лет, и мне немного не по себе.
В настоящее время у меня есть пользовательский элемент управления со списком редактируемых статей, этот пользовательский элемент управления содержит другой пользовательский элемент управления (EditArticle.ascx), который не отображается при загрузке.
У EditArticle есть свойство Article, которое отражает статью, которую можно редактировать.
Однако, когда я запускаю ссылку, щелкаю и передаю статью в свойство Article EditArticle и делаю ее видимой, метод Page_Load EditArticle вызывает исключение нулевой ссылки, когда пытается получить доступ к свойству Article. Таким образом, Page_Load, вероятно, вызывается до того, как установлено свойство?
Итак, я добавил что-то вроде этого в установщик свойств:
public NewsArticle Article
{
get { return _article; }
set { _article = value;
BindValues();}
}
protected void BindValues()
{
ArticleTitle.Text = Article.Title;
ArticleSummary.Text = Article.Lead;
TextEditor.Text = Article.Article;
}
И это работает следующим образом: текстовые поля заполняются соответствующими данными, когда отображается элемент управления EditArticle.
Каков будет правильный и подходящий способ сделать это?