Вопрос по синтаксису Razor

#.net #asp.net-mvc-3 #razor

#.net #asp.net-mvc-3 #razor

Вопрос:

Таблица стилей для моего веб-сайта может отличаться для каждого пользователя. Таким образом, имя файла css считывается из базы данных. Я установил имя css в ViewBag.Таблицу стилей и установите ее в моем файле Razor следующим образом:

 @section Scripts {
    <link href="@Url.Content("~/Content/@ViewBag.StyleSheet.css")" rel="stylesheet" type="text/css" />
}
  

Но это не работает. Пожалуйста, помогите.

Комментарии:

1. Вы забыли упомянуть, что это не работает…

2. Старая ошибка «не работает», да? Их лучше всего отлаживать с помощью запроса «требуется дополнительная информация».

3. В данном случае довольно очевидно, почему это не сработало. СЛакс поймал это.

Ответ №1:

Url.Content это обычный вызов функции C #, который принимает обычную строку.

Вам нужно объединить эту строку следующим образом:

 @Url.Content("~/Content/"   ViewBag.StyleSheet   ".css")
  

Комментарии:

1. спасибо — я пытался использовать @Url.Content («~/Content /» @ViewBag. Таблица стилей «.css») и не работал

2. @ используется только для отображения страницы; вы не должны использовать его в обычных выражениях.