2

私はこのようなクラスを持っています

            public class AmeInvoice
                {
                    public DateTime invoiceDate { get; set; }
                    public string invoiceNumber { get; set; }
                    public string accountNumber { get; set; }
                    public double amount { get; set; }
                    public double amountDue { get; set; }
                }

私はこのようなビューモデルを持っています

            public class AmeInvoiceViewModel
                {
                    public List<AmeInvoice> ppInvoices { get; set; }
                    public double otherAmount { get; set; }
                    public double totalDue { get; set; }
                }

コントローラーのアクション結果メソッドは次のようになります

            public actionresult index ()
            {
                ....
                ....
                ....
                List<AmeInvoice> prideInvoices = new List<AmeInvoice>();

                               while (reader.Read())
                               {
                                   prideInvoices.Add(new AmeInvoice()
                                   {
                                      invoiceDate =  Convert.ToDateTime(reader["invoicedate"]),
                                      invoiceNumber = reader["invoicenumber"].ToString(),
                                      accountNumber = reader["account"].ToString(),
                                      amount = Convert.ToDouble(reader["amount"]),
                                      amountDue = Convert.ToDouble(reader["amountdue"])
                                   });

                               }

                var myviewModel = new AmeInvoiceViewModel();
                               myviewModel.ppInvoices = prideInvoices;
                               myviewModel.otherAmount = 20.20;
                               myviewModel.totalDue = 30.20;
                               return View(myviewModel);

            }

私の見解では、私はこれを持っています

            @model List<InSCmm.Web.Model.AmeInvoiceViewModel>

            @{
                ViewBag.Title = "Index";
            }

            <h2>Index</h2>

            <table>

             @foreach (InSCmm.Web.Model.AmeInvoiceViewModel objUser in Model)
             {
               <tr>
                  <td>@objUser.</td>
                  <td>@objUser.</td>
                  <td>@objUser.</td>
                  <td>@objUser.</td>
                  <td>@objUser.</td>
               </tr>
             }
             </table>

私の質問: 私は Mvc を初めて使用し、invoiceDate、invoiceNumber、accountNumber、金額、未払い額をビューのテーブルに表示できるようにしたいと考えています。現時点では、objUser. (これらのフィールドがわかりません) 助けてください。これは正しい道ですか?

4

2 に答える 2

2

ビューは、リストではなく、渡すビュー モデルに厳密に型指定する必要があります。

@model InSCmm.Web.Model.AmeInvoiceViewModel

その後:

<table>
    @foreach (var objUser in Model.ppInvoices)
    {
        <tr>
            <td>@objUser.invoiceDate</td>
            <td>@objUser.invoiceNumber</td>
            <td>@objUser.accountNumber</td>
            <td>@objUser.amount</td>
            <td>@objUser.amountDue</td>
         </tr>
     }
</table>

<div>
    Total due: @Html.DisplayFor(x => x.totalDue)
</div>
于 2013-08-23T16:36:42.003 に答える