Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC为视图提供数据的最佳方法_Asp.net Mvc - Fatal编程技术网

Asp.net mvc ASP.NET MVC为视图提供数据的最佳方法

Asp.net mvc ASP.NET MVC为视图提供数据的最佳方法,asp.net-mvc,Asp.net Mvc,我想向视图中的表提供数据。数据不仅来自数据库,还来自csv文件 我应该将数据存储在ViewData中,还是应该将其存储在对象中并将其传递给视图?最好的方法是什么,或者我可以使用的其他方法是什么?谢谢 您应该创建一个模型对象,在控制器中填充来自异构源的数据,并将该模型传递给视图。使用强类型视图并将对象直接传递给视图: // Model (PersonRepository class) public static Person Get(Int32 id) { using (MyContext c

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


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

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

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

// 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>
//模型(PersonRepository类)
公共静态个人获取(Int32 id){
使用(MyContext context=new MyContext()){
Person p=context.Person.First(p=>Person.id==id);
返回p;
}
}
...
//控制器
公共行动结果显示(Int32 id){
返回视图(PersonsRepository.Get,id);
}
...
//看法



thx,但我该怎么做?我是说如何创建一个模型对象?我看不出你怎么做Person.Id和Person.Name。你可能是指model.Id和model.Name……事实上,这就是目的。修复了。我建议创建一个具有Person属性的PersonViewModel类。