powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / virtual markup aspx ;)
1 сообщений из 1, страница 1 из 1
virtual markup aspx ;)
    #37481943
10der
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, подскажите идеей!

Можно ли как то на лету менять маркапный файл (aspx)?
т.е. есть страница с навороченной разметкой, обязательным контролом (пусть это будет к примеру asp:login), информацией и навороченной логикой к этой странице в .cs
требуется в зависимости от настройки заменять полностью внешний вид (т.е. aspx), с сохранением привязки логики, которая живет в .cs !

пытался делать двумя способами:

>>>>>>>>>> base_login.aspx >>>>>>>>>>>>>>>>>

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
   public static void LoadPage(string pagePath)
    {
        Type compiledType = BuildManager.GetCompiledType(pagePath);
        if (compiledType == null)
        {
            object page = BuildManager.CreateInstanceFromVirtualPath(pagePath, typeof(System.Web.UI.Page));
            compiledType = page.GetType();
        }
        Page myPage = Activator.CreateInstance(compiledType) as Page;
        ((IHttpHandler)myPage).ProcessRequest(HttpContext.Current);
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
#warning todo
            if (1 == 1)
            {
                // all into /dev/null !!!
                Response.Clear();
                // yaarrrr!
                LoadPage("~/personal_login.aspx");
                // 
                Response.End();
            }
        }
    }
Почему то думал, что все обработчики страницы base_login.aspx автоматически завесятся на страницу, которую я гружу - я оказался наивным!

ОК! Пошел другим способом - написал свой VPP

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
        
        public override VirtualFile GetFile(string virtualPath)
        {
            if (IsPathVirtual(virtualPath))
                return new LoginVirtualFile(virtualPath, this);
            else
                return Previous.GetFile(virtualPath);
        }

Фиг! Он тоже красиво отдает новый маркап, как и в первом варианте, а логику тоже пытается взять с маркапа, который динамически я формирую.

PS: [X] php, smarty (:

//tender
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / virtual markup aspx ;)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]