经过一周的asp.net mvc2,我仍然没有理解ViewData.model
的优点,或者说我是如何正确使用Viewdata的。有人可以教我如何正确使用Viewdata
吗?
与viewdata相关的TModel
是什么?如何使用TModel
? viewdata explanation in spark view engine谈到TModel
,我无法弄清楚如何在项目中使用它。有人能帮助我吗?
答案 0 :(得分:2)
ViewData.Model可以在控制器操作中设置并传递给View,您可以像这样访问它
<%=ViewData.Model.Description %>
或
<%=Model.Description %>
也就是说,如果要传递给View的类包含属性Description:
public ActionResult GetInstance(string id)
{
MyContent content = GetContentFromDatastore(id);
return View(content);
}
使用此MyContent类
MyContent
{
string id;
string description;
}
基本上你发送一个类的实例(一个具有其属性设置的对象,很可能是从数据库中获取)回到View并在View中显示其数据,View是ascx或aspx文件,最终得到显示给用户/访客。这是一个非常简单的例子,但目前还不清楚你想要什么以及你已经知道多少。但是现在尝试离开Spark(和其他View Engines),直到你很好地了解ASP.NET MVC的基础知识。
答案 1 :(得分:1)
Mare是正确的,您可以通过访问ViewData.ModelName.PropertyName项来在视图中使用模型。
同样在控制器中,您可以在ViewData字典中设置某些键/值对:
ViewData["Address1"] = "2222 Somewhere";
然后在您的视图中访问它:
<%= Html.Encode(ViewData["Address1"]) %>
显然,使用键/值对来处理所有数据并不理想,这就是为什么你可以创建自己的类来封装数据,并将THOSE传递给你的视图以便于操作。