首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >显示asp.net mvc中的对象列表

显示asp.net mvc中的对象列表
EN

Stack Overflow用户
提问于 2009-05-07 05:29:35
回答 2查看 653关注 0票数 0

我是MVC的新手。我正在用asp.net MVC开发一个web应用程序。我有一个表单,通过它用户可以获得注册,注册后,用户重定向到ProfileView.aspx页面。在这里之前一切都很好。

现在,我想在他的个人资料下面显示该用户发布的文章标题。现在,我使用了以下代码:

代码语言:javascript
运行
复制
public ActionResult ProfileView(int id)
{

Profile profile = profileRepository.GetProfileByID(id);

var articles = articlesRepository.FindArticlesByUserID(id).ToList();

return View("ProfileView", profile);

}

感谢您提前提供帮助

Baljit Grewal

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-07 13:41:12

我能想到两个选择:

使用ViewData字典存储文章。

代码语言:javascript
运行
复制
public ActionResult ProfileView(int id)
{

Profile profile = profileRepository.GetProfileByID(id);  
var articles = articlesRepository.FindArticlesByUserID(id).ToList();
ViewData["Articles"] = articles;
return View("ProfileView", profile);
}

或者,如果您希望避免使用ViewData,请创建一个ViewModel。ViewModel是一种数据传输对象。您可以像这样创建一个ProfileViewModel类:

代码语言:javascript
运行
复制
public class ProfileViewModel
{
     public Profile Profile{ get; set; }
     public IList<Article> Articles { get; set; }
}

或者只包含您在视图中使用的配置文件属性,这将使绑定更容易,但您必须将值从模型复制到控制器中的ViewModel:

代码语言:javascript
运行
复制
public class ProfileViewModel
{
     public int Id{ get; set; }
     public string Name { get; set; }
     .......
     public IList<Article> Articles { get; set; }
}

如果你选择最后一个选项,看看AutoMapper (一个对象到对象的映射器)。

票数 1
EN

Stack Overflow用户

发布于 2009-05-07 05:36:14

您将希望页面继承自ViewPage,然后可以在.aspx标记中使用模型,如下所示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/833013

复制
相关文章

相似问题

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