MVC 将数据传递给视图和循环

Posted

技术标签:

【中文标题】MVC 将数据传递给视图和循环【英文标题】:MVC passing data to view and looping 【发布时间】:2013-01-27 17:30:42 【问题描述】:

我对 MVC 感到非常困惑。

我没有要显示的代码,因为我不知道该怎么做。

我有一个对象

public class Name()

  String name="balh"
  String something="blah blah"
  //this object works fine and doesn't look like this it has the appropriate get;set;
  //use this as just an example
  //please disregard this format
 

现在我有一个

List<Name> list;//this just holds all of my objects

我需要将它们传递给视图

我不断看到一些关于模型的东西,但我没有看到它在任何地方声明

我如何在视图中循环以创建类似的东西

<div> object1 string</div>
<div> object2 string</div>
<div> object3 string</div>
<div> object4 string</div>
<div> object5 string</div>

【问题讨论】:

【参考方案1】:

举个例子吧。

型号:

public class MyViewModel

    public string Name  get; set; 
    public string Something  get; set; 

控制器:

public class HomeController: Controller

    public ActionResult Index()
    
        List<MyViewModel> model = new List<MyViewModel>();
        model.Add(new MyViewModel  Name = "some name", Something = "something" );
        model.Add(new MyViewModel  Name = "some other name", Something = "something else" );
        return View(mdoel);
    

查看(~/Views/Home/Index.cshtml):

@model IEnumerable<MyViewModel>
<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Something</th>
        </tr>
    </thead>
    <tbody>
    @foreach (vat item in Model)
    
        <tr>
            <td>@item.Name</td>
            <td>@item.Something</td>
        </tr>
    
    </tbody>
</table>

【讨论】:

【参考方案2】:

假设您使用列表作为模型,您的视图将如下所示:

@model List<Name>

@foreach(var item in Model) 
  <div> @item.name @item.something</div>

所以你的控制器操作方法可能是:

public ViewResult Index() 
  // Somehow build list which is List<Name>
  return View(list);

编辑:你似乎很新,所以我建议尝试这个教程:http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3

【讨论】:

你真是太棒了...我希望你有这么多的祝福,你有最好的 2013 年!!永远!!! @Lpc_dark NP。我更新了我的答案,提供了一个可以帮助你的教程链接。【参考方案3】:

使用此代码

  @foreach (vat item in Model)
    
        <tr>
            <td>@item.Name</td>
            <td>@item.Something</td>
        </tr>
    

【讨论】:

以上是关于MVC 将数据传递给视图和循环的主要内容,如果未能解决你的问题,请参考以下文章

将数据传递给视图控制器

如何通过数组将数据传递给表格视图?

UIPickerView 将数据传递给容器视图

如何将数据传递给其他视图? [关闭]

CodeIgniter 将数据传递给视图

将数据传递给 viewController