====== Методы вызова объектов ====== В данном разделе представлены методы классов [[api:qpage|QPage и QUserControl]], предназначенные для вызова объектов. Подробнее о вызовах объектов можно почитать [[development:object_calls|здесь]]. ===== ShowObject ===== public void ShowObject(string object_name) public void ShowObject(string object_name, object sender) public void ShowObject(string object_name, object sender, object[] parameters) Вызов объекта из Code Behind. === Параметры === При загрузке объекта используется модифицированная последовательность событий для того, чтобы работал [[development:values|механизм Values]]. Для того, чтобы генерировалась оригинальная последовательность событий ASP.NET, нужно использовать метод [[#ShowObjectSimple]]. * //object_name// -- имя объекта. Поддерживаются вызовы в формате ''TemplateName.ObjectName.FormatName'', при этом TemplateName и FormatName -- не обязательны. * //sender// -- родительский контрол, в коллекцию Controls которого должен быть загружен объект. При осутствии параметра вызываемый объект будет загружен в коллекцию Controls текущего объекта. * //parameters// -- параметры, которые будут переданы в конструктор соответствующего контрола (аналогично методу [[http://msdn.microsoft.com/ru-ru/library/ewtd66a0.aspx|LoadControl]]) ===Пример=== ShowObject("Main.Menu", this); ===== ShowObjectSimple ===== public void ShowObjectSimple(string object_name) public void ShowObjectSimple(string object_name, sender) public void ShowObjectSimple(string object_name, sender, object[] parameters) Аналог [[#ShowObject]], но при вызове данного метода генерируется оригинальная последовательность событий ASP.NET, что позволяет корректно восстанавливаеть ViewState для серверных контролов. Данный метод несовместим с [[api:values|механизмом Values]]. ===== GetInternalCall ===== public string GetInternalCall(string object_name) Возвращает относительный путь к контролу, который может быть использован для его явной загрузки. Поддерживаются вызовы в формате ''TemplateName.ObjectName.FormatName'', при этом TemplateName и FormatName -- не обязательны. ====== Устаревшие методы ====== Следующие методы являются устаревшими и не рекомендуются для использования: * GetObjectFullName (используйте [[#GetInternalCall]]) * ShowControl (используйте [[#ShowObject]]) * ShowObjectNS (используйте [[#ShowObject]])