ASP.NET MVC为Views提供数据的最佳方法

时间:2009-05-22 07:58:12

标签: asp.net-mvc

我想向视图中的表提供数据。数据不仅来自数据库,还来自csv文件。

我应该将数据存储在ViewData中,还是应该将其存储在对象中并将其传递给视图?什么是最好的方法,或者我可以使用的任何其他方法? THX!

2 个答案:

答案 0 :(得分:1)

使用强类型视图并将对象直接传递给视图:

// Model (PersonRepository class)
public static Person Get(Int32 id) {
  using (MyContext context = new MyContext()) {
    Person p = context.Person.First(p => Person.id == id);
    return p;
  }
}

...

// Controller
public ActionResult Show(Int32 id) {
  return View(PersonsRepository.Get(id);
}

...

// View
<%@ Page Inherits="System.Web.Mvc.ViewPage<Models.Person>" Title="" Language="C#" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

  <%= Model.Id %> <br />
  <%= Model.Name %> <br />

</asp:Content>

答案 1 :(得分:0)

您应该创建一个模型对象,使用来自异构源的数据将其填充到控制器中,并将该模型传递给视图。