У меня есть следующий код в моем <head>
<% if(Context.User.IsInRole("Reseller")) {%>
<link href="<%: themelocation %>" rel="stylesheet" type="text/css" />
<%} else {%>
<link href="<%= Url.Content("~/Content/custom-theme/jquery-ui-1.8.5.custom.css") %>" rel="stylesheet" type="text/css" />
<%} %>
Проблема связана с локализацией темы, объявленной чуть выше этого блока кода, например:
<%
var reseller = new Reseller();
var storeSettings = new StoreSettings();
var themelocation = "";
if (Context.User.Identity.IsAuthenticated)
{
var resellerRepository = new ResellerRepository();
reseller = resellerRepository.GetResellerByUsername(Context.User.Identity.Name);
var storeSettingsRepository = new StoreSettingsRepository();
storeSettings = storeSettingsRepository.GetStoreSettings((int) reseller.StoreSettingsID);
themelocation = storeSettings.Theme.StylesheetLocation;
}
%>
Установка точки останова показывает, что themelocation содержит нужную мне строку, но когда страница запускается - она генерирует ошибку 400 - Bad Request, и вкладка net в firebug показывает, что ищет:
http://localhost:50982/%3C%:%20themelocation%20%%3E
Куда я здесь не так?Почему он использует имя переменной, а не то, что она содержит?
Я использую ASP.NET MVC2, и весь этот код находится на моей главной странице.