Подтвердить что ты не робот

Использование themed css файлов требует управления заголовком на странице. (например, <head runat = "server" /">)

Я работаю над веб-проектом asp.net. Когда я запускаю проект, он работает правильно. Но на сервере я получил следующую ошибку. Как решить эту проблему?

Using themed css files requires a header control on the page. (e.g. `<head runat="server" />`).
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. How to solve this problem?

Exception Details: System.InvalidOperationException: Using themed css files requires a header control on the page. (e.g. `<head runat="server" />`).

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:
[InvalidOperationException: Using themed css files requires a header control on the page. (e.g. <head runat="server" />).]
   System.Web.UI.PageTheme.SetStyleSheet() +2458406
   System.Web.UI.Page.OnInit(EventArgs e) +8699420
   System.Web.UI.Control.InitRecursive(Control namingContainer) +333
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,  Boolean includeStagesAfterAsyncPoint) +378
4b9b3361

Ответ 2

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

EnableTheming = "False" StylesheetTheme="" Theme="" 

в атрибуте @Page этой страницы.

Например, следующий пример исходного кода:

DownloadFile.aspx.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DownloadFile.aspx.cs"
    Inherits="WebUI.Monitorization.DownloadFile"  EnableTheming="False" StylesheetTheme="" Theme=""   %>

Ответ 3

вам нужен главный тег с runat = "server" на странице (или главной странице), как показано ниже

<head runat="server">
    <title></title>
</head>

Ответ 4

Убедитесь, что у вас есть только файлы, которые вам нужны в папке bin. Если у вас есть другие dll (старые версии фактических dlls, различающиеся только по их имени), странные вещи могут произойти.

Ответ 5

Я получил эту ошибку в результате очень плохой ошибки копирования и вставки в Visual Studio 2008. Я заменил страницу на некоторые фрагменты кода, которые я хотел отправить другу.

Несмотря на то, что он убил все содержимое страницы aspx, никаких других ошибок не было.

Ответ 6

Я хочу продлить ответ "Сувенду Шехар Гири". Если у вас много страниц, которые не предназначены для рендеринга любого html и просто пишут ответ в потоке, т.е. Для вызова ajax. Поместите все такие типы страниц в одну папку и добавьте web.config в эту папку. Добавьте следующий тег в этот файл web.config

pages styleSheetTheme = "theme =" "

Надеюсь, это поможет.

Ответ 7

Я пробовал все предлагаемые вещи, не найдя решения.

Мне просто нужен фиктивный сайт для вызова LoadControl с помощью UserControl. Я попытался установить несколько тем и StyleSheetTheme, потому что System.Web.UI.Page имеет этот метод OnInit:

protected internal override void OnInit(EventArgs e) { 
    base.OnInit(e);

    if (_theme != null) { 
        _theme.SetStyleSheet();
    } 

    if (_styleSheet != null) {
        _styleSheet.SetStyleSheet();
    } 
}

Я попытался установить значения в OnPreInit и OnInit, но это привело к исключениям, в которых говорилось, что мне не разрешено устанавливать эти свойства там. Поэтому я пробовал этот код и обнаружил, что тема я и StyleSheetTheme установлены в OnInit, но не OnPreInit:

public BaseRenderingPage()
{
    EnableTheming = false;
    Theme = null;
    StyleSheetTheme = null;
}

protected override void OnPreInit(EventArgs e)
{
    if (EnableTheming || Theme != null || StyleSheetTheme != null)
        throw new Exception("OnPreInit: " + EnableTheming + ", " + Theme + ", " + StyleSheetTheme);
    base.OnPreInit(e);
}   

protected override void OnInit(EventArgs e)
{
    if (EnableTheming || Theme != null || StyleSheetTheme != null)
        throw new Exception("OnInit: " + EnableTheming + ", " + Theme + ", " + StyleSheetTheme);
    base.OnInit(e);
}

Я закончил решение этой проблемы:

public override string Theme
{
    get { return null; }
    set { base.Theme = null; }
}

public override string StyleSheetTheme
{
    get { return null; }
    set { base.StyleSheetTheme = null; }
}