Установите для свойства AppRelativeVirtualPath
объекта «Страница» желаемый путь.Но вы должны сделать это первым делом после создания вашего обработчика, поскольку каждый элемент управления, добавленный к вашей коллекции Controls
, будет наследовать это значение от своего родителя.
Способ сделать это - создать подкласс класса PageHandlerFactory
, который отвечает за создание экземпляра Page
, когда вы запрашиваете файл .aspx.Переопределите GetHandler
с помощью следующего кода:
public override IHttpHandler GetHandler(HttpContext context, string requestType, string virtualPath, string path)
{
var handler = (Page)base.GetHandlerHelper(context, requestType, VirtualPath.CreateNonRelative(virtualPath), path);
page.AppRelativeVirtualPath = "...";
return page;
}
и, конечно, измените регистрацию в разделе httpHandlers в вашем файле web.config, указав новый класс фабрики.