0

我对 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>
4

3 回答 3

2

让我们举个例子。

模型:

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>
于 2013-01-27T17:37:44.607 回答
1

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

@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-01-27T17:33:53.257 回答
1

使用此代码

  @foreach (vat item in Model)
    {
        <tr>
            <td>@item.Name</td>
            <td>@item.Something</td>
        </tr>
    }
于 2013-01-27T17:59:01.977 回答