2012-03-07 12 views
1

おはようございます。ビューにデータを表示する方法がわからない(初心者)

私は初心者の.Net言語であり、さらに進めるための例が必要です。

私の目的は、クライアントに関する一般的な情報の下で、データテーブルの日付とコメントを表示することです。

名前のファーストネーム: 住所: 電話番号: ...

日付1 コメント1

date2の コメント2 ...

ビューには、そのような何かになるために必要

genを使用して厳密に型指定されたビューを自動的に生成するのは簡単でしたエルデータ。今、私は以下のコメントをどのように表示するのか分かりません。ここで

は、私はすでに視野にコントローラ

' GET: /Contacts/Details/5 

    Function Details(id As Integer) As ActionResult 
     Dim contact As contact = db.contact.Single(Function(c) c.idContact = id) 
     Dim listMeet = New List(Of meeting) 
     listMeet = (From d In db.meeting 
        Where d.FK_meet_contact = id 
        Select d).ToList() 
     ViewBag.listeMeeting = listMeet 
     Return View(contact) 
    End Function 

にやったですが、私は間違ったことをたくさんDIS ...さんがあなたに最後の1をお見せしましょう:

@ModelType MvcApplication4.contact 
@Code 
    ViewData("Title") = "Details" 
    Dim list As List(Of Object) = ViewBag.listeMeeting 
    Dim ligne As ListItemCollection 

End Code 

[ ...]

<fieldset> 
    <legend><button onclick="togglefield('Meet')">Meetings</button></legend> 
    <div class="Meet"> 

    @For Each ligne In ViewBag.listeMeeting 
     @Html.Raw(ViewBag.listeMeeting) 
    Next (ligne) 

    </div> 
</fieldset> 

よく分からないことはありますか?

Public Class MyViewModel 
    Public Property ContactDetails As Contact 
    Public Property Meetings As IEnumerable(Of Meeting) 
End Class 

し、その後で、このビューモデルを移入:

PSは:あなたが代わりにViewBagのビューモデルを使用することができ、私は英語のネイティブスピーカーではないよ、そう、申し訳ありませんが私の英語は

答えて

1

吸う場合その後、

Function Details(id As Integer) As ActionResult 
    Dim contact As contact = db.contact.Single(Function(c) c.idContact = id) 
    Dim meetings = 
     (From d In db.meeting 
     Where d.FK_meet_contact = id 
     Select d).ToList() 

    Dim model = New MyViewModel With { 
     .ContactDetails = contact, 
     .Meetings = meetings 
    } 
    Return View(model) 
End Function 

をし、あなたのビューが強くビューモデルに入力した:あなたのコントローラとビューで表示のために渡す

@ModelType AppName.MyViewModel 

<h2>@Model.ContactDetails.SomePropertyOfContact</h2> 

<fieldset> 
    <legend> 
     <button onclick="togglefield('Meet')">Meetings</button> 
    </legend> 
    <div class="Meet"> 
     @For Each meeting In Model.Meetings 
      @meeting.SomePropertyOfMeeting 
     Next 
    </div> 
</fieldset> 
+0

非常に素晴らしい回答...そのまま100%機能します。それは私が必要としていたものです。 –

関連する問題