Как добавить или нет элемент управления на странице aspx? - PullRequest
1 голос
/ 12 января 2011

У меня есть страница с веб-контролем пользователя, она довольно тяжелая, и он используется только в том случае, если у пользователя приложения есть некоторые права. Таким образом, он установлен на visible = false, если пользователь не может его использовать. Но в этом случае элемент управления добавляется на страницу, даже если он не виден.

Проблема в том, что пользовательский веб-элемент управления используется очень редко. Поэтому я хотел бы не включать код, если в этом нет необходимости. Я чувствую, что должен использовать состояние preinit, чтобы добавить пользовательский веб-элемент управления, когда это необходимо, но я не знаю, как ... Любая хорошая идея? Спасибо за помощь ..

Ответы [ 2 ]

3 голосов
/ 12 января 2011

добавить его в коде с помощью LoadControl, например. поместите PlaceHolder на эту страницу aspx, а затем загрузите его из кода, как это

if (something)
{
  Control cnt = Page.LoadControl("UserControl.ascx");
  placeHolder1.Controls.Add(cnt);
}
2 голосов
/ 12 января 2011

Что вы имеете в виду под довольно тяжелым ? Если это отнимает много времени из-за привязки данных, вы должны предоставить public function (например, BindData), который вызывается не автоматически из page_load, а со страницы, когда он запрашивается и пользователь имеет право на просмотр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...