Response.Write на серверных элементах управления - PullRequest
0 голосов
/ 02 июня 2010

Я создаю собственный метод include (загрузка), чтобы проверить, существует ли файл. Функция загрузки включает файл, если он существует, или отправляет электронное письмо, чтобы уведомить меня о неработающей ссылке, если это не так. Проблема, с которой я сталкиваюсь, заключается в том, что, если включаемый файл содержит серверные элементы управления, он просто отображает их в виде простого текста. Это проблема, если бы я попытался добавить включаемый файл во включаемый файл.

В default.aspx у меня есть:

<% ResourceMngr.load("~/Includes/menu.inc"); %>

В ResourceMngr:

public static void load(String url) {

    string file = HttpContext.Current.Server.MapPath(url);
    if (System.IO.File.Exists(file))
    {
        HttpContext.Current.Response.Write(System.IO.File.ReadAllText(file));
    }
    else
    {
        String body = "This message was sent to inform you that the following includes file is missing: \r\n";
        body += "Referrer URL: " + HttpContext.Current.Request.Url.AbsoluteUri + "\r\n";
        body += "File Path: " + file;
        MailUtil.SendMail("email@email.com", "Missing Includes File", body);
    }
}

Итак, если «menu.inc» также включает тег <% ResourceMngr.load("~/Includes/test.inc"); %>, он просто печатает его в виде простого текста на странице, вместо того, чтобы пытаться включить test.inc, в то время как все остальные html на странице отображаются точно так ожидается. Как мне разрешить моему включаемому файлу иметь серверные элементы управления?

1 Ответ

2 голосов
/ 02 июня 2010

Я предполагаю, что вы пришли из классического фона ASP или PHP. Asp.net не работает таким образом с включениями. Возможно, вы захотите посмотреть некоторые базовые веб-формы или руководства по mvc, потому что вы хотите работать со структурой, а не против нее:

в частности, посмотрите, как использовать UserControls (т.е. с расширением .ascx)

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