0

在使用了一周的 asp.net mvc2 之后,我仍然没有理解 Viewdata 的优点,ViewData.model或者更确切地说,我如何正确地利用 Viewdata。有人可以教我如何Viewdata正确使用吗?

还有什么TModel与视图数据相关联?如何利用TModel?spark view engine 中的viewdata 解释TModel,我不知道如何在我的项目中使用它。有人能帮我吗?

4

2 回答 2

2

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(和其他视图引擎)。

于 2010-04-11T19:59:13.830 回答
1

Mare 是正确的,您可以通过访问 ViewData.ModelName.PropertyName 项在视图中使用模型。

此外,在您的控制器中,您可以在 ViewData 字典中设置某些键/值对:

ViewData["Address1"] = "2222 Somewhere";

然后在您的视图中访问它:

<%= Html.Encode(ViewData["Address1"]) %>

显然,使用键/值对来处理所有数据并不理想,这就是为什么您可以创建自己的类来封装数据,并将 THOSE 传递给您的视图以便于操作。

于 2010-04-13T03:45:13.347 回答