2013-09-26 4 views
0

В моей web.config у меня есть следующие:Попытка чтения из web.config - получаю ошибку

<appSettings> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="authorizedUsers" value="jeff,jason,bob"/> 
    </appSettings> 

В моей _Layout.cshtml я следующее:

@{ 
     List<String> authList = new List<string>(); 
     authList = System.Web.Configuration.WebConfigurationManager.AppSettings["authorizedUsers"].Split(',').ToList(); 

     if (authList.Any(u=>u == this.User.Identity.Name)) 
     { 
      <li>@Html.ActionLink("Admin", "Index", "Admin")</li> 
     }        
} 

Когда я бегу это я получаю Object reference not set to an instance of an object. Что мне нужно сделать, чтобы заставить это работать?

+1

Не уверен, что это неправильно с этим в качестве альтернативы вы можете назначить список в '' ViewBag.authList со стороны сервера. – Kaf

ответ

3

Мое предположение, что вы установили свою настройку в неправильный web.config. Дважды проверьте, что вы поместили его в разделе appSettings файла web.config, расположенного на уровне проекта, а не в папке «Представления».

enter image description here

+0

Вот и все! Почему у них есть 2 файла web.config? – webdad3

+1

@ webdad3 Web.config в папке «Вид» делает несколько вещей. Самое главное это блокирует прямой доступ к вашим представлениям. Оформить заявку Давид: http: //stackoverflow.com/questions/517086/asp-net-mvc-and-two-web-config-files –

Смежные вопросы