CSS: возможно определить стили в середине HTML-документа? - PullRequest
0 голосов
/ 07 июня 2010

В ASP.NET MVC есть эти фрагменты HTML, называемые шаблонами представления, которые появляются, когда их совпадающие данные появляются на экране. Например, если у вас есть заказ клиента, и у него есть адрес поставщика, появится шаблон представления адреса поставщика, заполненный данными.

К сожалению, они не имеют доступа к "MasterPages" и не знают об их CSS-окружении.

Вместо того, чтобы загружать их тегами стиля, есть ли способ создать частичные файлы CSS, которые могли бы работать для этого конкретного фрагмента HTML, своего рода встроенного раздела стиля CSS?

Было бы неплохо добавить это прямо перед рендерингом частичного представления:

<style type="text/css">
    input { margin: .2em .2em;
            overflow: hidden;
            width: 18.8em; 
            height: 1.6em;
            border: 1px solid black;}
</style>

чтобы примерно 15 полей ввода в этом конкретном HTML-фрагменте были отформатированы одинаково. Они меняются местами, поэтому позиции полей ввода меняются. Это также может означать сброс CSS при каждом частичном просмотре.

Ответы [ 2 ]

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

Мне кажется, что было бы целесообразно включить дополнительный раздел контента в Head главной страницы

<head runat="server">
    <title>
        <asp:ContentPlaceHolder ID="TitleContent" runat="server" />
    </title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
    <asp:ContentPlaceHolder ID="CssContent" runat="server" />
</head>

При этом вы можете добавить определенные стили для каждого представления.

Изменить: После публикации я думаю, что выше не то, что вы имеете в виду. То, что вы можете рассмотреть, катит свой собственный ViewUserControl аналогичный Помощник по регистрации скриптов и CSS в ASP.NET MVC? ?

1 голос
/ 07 июня 2010

Почему бы не иметь файл CSS, на который есть ссылки в частичных представлениях, или я ошибаюсь суть вопроса?

...