Я считаю, что ваш jQuery должен быть изменен на:
$(function() {
$('link').first().attr('href', 'nick.css');
});
Предполагая, что это первый файл CSS, который вы хотите изменить.Нет ничего плохого в использовании свойства ID для тега link
:
<link id="style" href="../../Content/Site.css" rel="stylesheet" type"text/css" />
И тогда ваш jQuery может быть:
$('link#style').attr('href', 'nick.css');
Вы можете поместить jQuery в любое место ввашей индексной страницы, если вы оберните ее в тег <script>
, но я рекомендую вам добавить ContentPlaceHolder
в тег <head>
вашей главной страницы:
<head>
<title><asp:ContentPlaceHolder ID="TitleHolder" runat="server"></title>
<asp:ContentPlaceHolder ID="ScriptContent" runat="server" />
</head>
Затем на странице индекса добавьте для нее раздел:
<asp:Content ContentPlaceHolderID="ScriptContent" runat="server">
<script>
$(function() {
$('link#style').attr('href', 'nick.css');
});
</script>
</asp:Content>
Добавление данных модели в jQuery
Это почти то же самое, что вы делаете в HTML:
<script>
$(function() {
$('link#style').attr('href', <%= Model.CssStyle %>);
});
Предполагается, что ваша модель имеет свойство CssStyle
.При компиляции программы вы можете получать предупреждения о недопустимых тегах Javascript, но вы можете спокойно их игнорировать.Поддержка Javascript в Visual Studio не так уж хороша без плагинов.