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 に答える