在使用了一周的 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 传递给您的视图以便于操作。