MVC Viewmodel无法访问模型与视图

MVC Viewmodel无法访问模型与视图

问题描述:

如何从我的视图访问我的视图模型?我的代码如下: - ,MVC Viewmodel无法访问模型与视图

我有两个模型(使用实体框架),它有一个视图模型 - :

 ViewModelStory.GCB_NewsItem = (from i in db.tbl_GCB_NewsItem 
        where i.intItemIdentifier.ToString() == StoryId 
        select i).SingleOrDefault(); 

     ViewModelStory.comemnts = (from i in db.tbl_GCB_ItemComment 
             where i.intItemIdentifier.ToString() == StoryId 
             select i).ToList<tbl_GCB_ItemComment>(); 
-

public class ViewModelStory 
{ 
    public IEnumerable<tbl_GCB_NewsItem> GCB_NewsItem { get; set; } 
    public IEnumerable<tbl_GCB_ItemComment> comemnts { get; set; } 

} 

我的位指示由填充模型

我返回由

 return PartialView("NewsStory", ViewModelStory); 

模型,然后在我看来,我有以下声明

@model ViewModelStory 
@using GCBSMVC.Models 

要访问我的模型我已经尝试了各种从LINQ到和直接查询模式,但似乎没有任何工作: - Html.DisplayFor(M => m.GCB_NewsItem。 .... ViewModelStory.GCB_NewsItem.strItemCategory Html.Raw(System.Web.HttpUtility.HtmlDecode(ViewModelStory.GCB_NewsItem.strItemHeadline))

+0

你的控制器动作的返回值是什么样的?你是否填充视图以正确返回,例如返回View(“myView”,myModel)? – hschne 2014-09-10 14:19:49

+0

我通过返回它:返回PartialView(“NewsStory”,ViewModelStory);我还会更新忘记添加这一点的问题。 – chris 2014-09-10 15:38:58

+0

我害怕,但你不能这样设置ViewModelStory.GCB_NewsItem属性。请制作一个对象,然后设置属性。如果您的对象与课程名称相同,请更改并尝试。 – 2014-09-11 08:09:43

你传入你的模型类,而不是实际的类的类型。试试这个:

var model = new ViewModelStory(); 
model.GCB_NewsItem = (from i in db.tbl_GCB_NewsItem 
        where i.intItemIdentifier.ToString() == StoryId 
        select i).SingleOrDefault(); 

model.comemnts = (from i in db.tbl_GCB_ItemComment 
             where i.intItemIdentifier.ToString() == StoryId 
             select i).ToList<tbl_GCB_ItemComment>(); 

return PartialView("NewsStory", model);