我想向视图中的表提供数据。数据不仅来自数据库,还来自csv文件。
我应该将数据存储在ViewData中,还是应该将其存储在对象中并将其传递给视图?什么是最好的方法,或者我可以使用的任何其他方法? THX!
答案 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)
您应该创建一个模型对象,使用来自异构源的数据将其填充到控制器中,并将该模型传递给视图。