2014-12-23 5 views
2

У меня есть контроллер, который возвращает представление с помощью модели, такие как:View не может получить доступ к модели MVC

public ActionResult AddSetStory() 
    { 
     StoryModel sm = new StoryModel(); 

     return View(sm); 
    } 

с моделью как:

namespace AStoryToTell.Views.Stories.StoriesModel 
{ 
    public class StoryModel 
    { 
     public int IDStory { get; set; } 
     public int IDUser { get; set; } 
     public string Title { get; set; } 
     public string StoryDescription { get; set; } 
     public string StoryText { get; set; } 
     public string ImagePath { get; set; } 
     public IEnumerable<string> Tags { get; set; } 
     public string Base64File { get; set; } 
     public string FileName { get; set; } 
     public string tagsString { get; set; } 

    } 
} 

, но я не могу получить доступ к нему через мой взгляд

enter image description here

Даже если у меня есть @model аннотацию, как первой линии, на мой взгляд:

@model AStoryToTell.Views.Stories.StoriesModel.StoryModel 

Что мне здесь не хватает? Должна ли модель не типизироваться как класс StoryModel ?? Что я не понимаю, почему он не распознается VS 2013?

Хотя, если я это сделать:

<script> 
    var someVariable = '@Model.tagsString'; 
    console.log(someVariable); 
</script> 

Он будет регистрировать то, что я поместил в моей модели как атрибут tagsString ..

+0

Я не уверен, но похоже, что вы размещаете свои ViewModels глубже в иерархии, чем ваш View. Можете ли вы попытаться поместить свои ViewModels в папку под названием «ViewModels» в верхней части иерархии папок, чтобы убедиться, что это работает? – MichaelCleverly

ответ

5

Вы, наверное, решить эту проблему, но точно такой же, что произошло для меня и я перезапустил визуальную студию (2013 Professional), и проблема была решена.

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

+0

Безумие! Спасибо, то же самое случилось со мной и было решено с перезапуском. – Chris

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