Как включить статический html в приложение asp.net mvc, которое не использует системный CSS, но имеет собственный стиль? - PullRequest
0 голосов
/ 22 июля 2010

Я использую ASP.NET MVC 2 & C #.

Я хочу включить / внедрить html-страницу (необработанный текст и стили; без форм) в одно из моих представлений без использования собственного стиля CSS (читай: стили site.css для самого приложения ASP.NET MVC 2 ) влияет на это. Я могу получить статический доступ к странице и открыть ее в новом окне, и она сохраняет свой стиль; однако, если я сделаю:

<asp:Content ID="loginContent" ContentPlaceHolderID="MainContent" runat="server">
    <!--#include virtual="~\Static\Instructions.htm" -->
</asp:Content>

Кажется, что стилизация из html & site.css в веб-приложении объединена.

Я также добавил следующие игнорируемые записи маршрута:

routes.IgnoreRoute("{resource}.html/{*pathInfo}");

Я также попытался создать частичный элемент управления view с необработанным html-файлом и отобразить его здесь. Это дает такие же результаты, как этот.

Мысли

Ответы [ 3 ]

1 голос
/ 22 июля 2010

Когда вы включаете файл с кодом выше, это все равно, что добавлять все данные в исходный файл, как если бы вообще не было включения.Делая это таким образом, вы унаследуете все относительные JavaScript и CSS, которые есть в родительском файле.

Единственный способ решить эту проблему - создать оболочку вокруг основного содержимого и настроить все элементы CSS, чтобы они влиялитолько эта обертка.Помимо этого, единственный другой вариант - установить стиль CSS для вашего добавляемого файла с определенными идентификаторами или очистить текущий CSS, чтобы быть более конкретным.

Один последний метод, если у вас есть CSS, влияющий на включаемый файл (Я предполагаю, что из вашего OP у вас есть CSS-стиль внутри самого файла), вы можете установить! Важно для них, чтобы они перезаписывали любые другие классы CSS, влияющие на них.

0 голосов
/ 22 июля 2010

Я могу только предложить, как сказали Пэт и Лайтхэз.

Нет проблем с маршрутизацией.

Попробуйте изменить свою перспективу на визуализированный HTML-код.

Если у вас есть страница, и есть область, которая должна быть в других (нет) стилях. затем вы должны пометить эту область либо классом css, если имеется много областей, либо если это единственная область на странице с идентификатором css.

Кстати, не стилизовать это невозможно в html. По крайней мере, таблицы стилей браузера будут определять вывод.

Вот интересный вопрос, надеюсь, это поможет.

Сброс CSS, стили по умолчанию для общих элементов

0 голосов
/ 22 июля 2010

Вы можете добавить оболочку <div id="embed"> вокруг вашего встроенного контента, а затем использовать #embed в вашем site.css для переопределения стилей, которые вы не хотите применять.

p {
    color: red;
}

#embed p {
    color: blue;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...