Невозможно создать собственный путь в главных страницах ASP.NET MVC - PullRequest
2 голосов
/ 18 ноября 2009

Я работаю в ASP.NET MasterPage и у меня проблемы с <link href="..." />.

Я пытаюсь заменить в таблице стилей конкретное имя:

<link href="/Content/Styles/<%=Model.Style%>.css" rel="stylesheet" type="text/css" />

К сожалению, это создает вывод HTML:

<link href="/Content/Styles/&lt;%=Model.Style%>.css" rel="stylesheet" type="text/css" />

Что явно не то, что было задумано.

Если я поместил тот же код в заполнитель View, он отлично работает. Это не очень хорошее решение, так как у меня есть много страниц, на которых я просто хочу, чтобы это делало то же самое.

Похоже, что он пытается автоматически исправить URL - есть ли способ отключить это?


Редактировать 1:

Я временно исправил это, используя:

<link href=<%=String.Format("\"/Content/Styles/{0}.css\"", Model.Style)%> rel="stylesheet" type="text/css" />

Ответы [ 2 ]

1 голос
/ 18 ноября 2009

Все ссылки в вашем вопросе и в решении, опубликованном до настоящего времени, потерпят неудачу, если ваш сайт будет развернут в виртуальной папке. Вместо этого выполните:

<link href="<%= Url.Content("~/Content/Styles/" + Model.Style + ".css") %>" rel="stylesheet" type="text/css" />

Это (1) устраняет проблему в вашем вопросе, и (2) позволяет вашему сайту работать в виртуальной папке.

0 голосов
/ 18 ноября 2009

Попробуйте это:

<link href="/Content/Styles/<%= "" + Model.Style%>.css" rel="stylesheet" type="text/css" media="screen" />

Ужасно, но работает.

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