【发布时间】:2014-09-10 12:55:41
【问题描述】:
如何从我的视图中访问我的视图模型?我的代码如下:-,
我有两个模型(使用实体框架),它们的视图模型为:-
public class ViewModelStory
{
public IEnumerable<tbl_GCB_NewsItem> GCB_NewsItem { get; set; }
public IEnumerable<tbl_GCB_ItemComment> comemnts { get; set; }
}
我的控制器通过以下方式填充模型:-
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>();
我通过以下方式返回模型
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))
【问题讨论】:
-
控制器动作的返回值是什么样的?您是否填充视图以正确返回,例如 return View("myView", myModel)?
-
我通过以下方式返回它:return PartialView("NewsStory", ViewModelStory);我也将更新忘记添加此位的问题。
-
恐怕你不能这样设置 ViewModelStory.GCB_NewsItem 属性。请制作一个对象,然后设置属性。如果您的对象与类同名,请更改它并尝试。
标签: asp.net-mvc asp.net-mvc-viewmodel