首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用ASP.NET MVC在视图页面中显示自定义对象属性?

如何使用ASP.NET MVC在视图页面中显示自定义对象属性?
EN

Stack Overflow用户
提问于 2010-06-08 01:33:02
回答 1查看 3.7K关注 0票数 1

我正在尝试向我已经存在的ASP.NET web应用程序中添加ASP.NET MVC功能(特别是路由)。我添加了一个控制器和视图(一个asp.net页面)。

现在我想知道如何在视图中显示我的自定义类(例如,User)的对象的详细信息?我可以在ViewData集合中分配对象并在视图中呈现它吗?我已经有一个为当前ASP.NET web应用程序运行的数据层(在ADO.NET中),所以我想使用它。

我在我的控制器里试过了

代码语言:javascript
复制
public ActionResult Index()
    {
        BusinessObject.User objUser = new BusinessObject.User();
        objUser.EmailId = "shyju@company.com";
        objUser.ProfileTitle = "Web developer with 6 yrs expereince";

        ViewData["objUser"] = objUser;
        ViewData["Message"] = "This is ASP.NET MVC!";

        return View();
    }

如何在查看页面中使用它来显示用户详细信息?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-08 01:39:14

您应该将对象作为视图模型(或视图模型的一部分,以及消息)传递给强类型视图。然后,您可以简单地在视图中引用模型属性。

代码语言:javascript
复制
public class IndexViewModel
{
    public BusinessObject.User User { get; set; }
    public string Message { get; set; }
}

(或者,更好的是,只需要来自user对象的属性)

控制器

代码语言:javascript
复制
public ActionResult Index()
{
    BusinessObject.User objUser = new BusinessObject.User();
    objUser.EmailId = "shyju@company.com";
    objUser.ProfileTitle = "Web developer with 6 yrs expereince";

    return View( new IndexViewModel {
         User = objUser,
         Message = "This is ASP.NET MVC!";
    });
}

视图

代码语言:javascript
复制
<%@ Page Title="" Language="C#"
    MasterPageFile="~/Views/Shared/Site.Master"
    Inherits="System.Web.MVC.ViewPage<MyWebSite.Models.IndexViewModel>" %>

<%= Html.Encode( Model.User.EmailId ) %>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2991743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档