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