ViewModel视图中的两个表

时间:2017-01-13 11:26:53

标签: c# asp.net linq asp.net-mvc-5

我在模型文件夹中使用此名称XMLbetViewModel构建了一个类,然后我将两个表中的一个作为属性如下所示:

using System;
using System.Collections.Generic;    
using System.Linq;    
using System.Web;    
using DataLayer;

namespace League2.Models    
{    
    public class XMLbetViewModel    
    {    
        public IEnumerable<XML> XMLs {get;set;}    
        public  IEnumerable<Bet> Bets { get; set; }    
    }    
}

然后在“视图”中,我回调了下面那个模型:

@model League2.Models.XMLbetViewModel

表名是XML BET 问题是当我写@model时,它只是告诉我表的名称而不是内容。   那么我应该怎么做才能在一个“视图”中同时访问该模型的内容,最后我想在我的数据库中保存这些信息 我想要做的是:在一个视图中有一个表单,其中一些内容(字段)从xml表中读取并填写表单,然后用户填写其他空(内容)字段,最后按一个键,信息保存在Bet表中。我有这样的银行:codeFirst,migration

2 个答案:

答案 0 :(得分:2)

我能理解你的问题。 @model用于将模型严格绑定到表内容的视图。您需要htmlhelpers之类的对象,您还可以使用 lmbda表达式创建该模型的对象。

答案 1 :(得分:1)

您可以使用一些循环或lambda表达式来实现迭代。

假设您在viewModel中有假期。

之类的东西
  public IList<Holiday> Holidays
    {
        get
        {
            return this.holidays;
        }
    }

您可以使用以下类似的语法迭代它并在您的视图中显示它。

  @if (Model.Holidays != null)
            {
                var grouppedHoliday = Model.Holidays.GroupBy(summary => summary.Date.Month);
                if (grouppedHoliday != null)
                {
                    foreach (var holidaysummary in grouppedHoliday)
                    {
                        if (holidaysummary != null)
                        {
                            <div class="holiday-summary-subTitle">@holidaysummary.FirstOrDefault().Date.ToString("MMMM", CultureInfo.InvariantCulture)</div>

                            foreach (var holiday in holidaysummary)
                            {
                                <div title="@holiday.Remarks" class="multiple-options">

                                    @if (holiday.IsGone == true)
                                    {
                                        <span class="is-gone-holiday-summary-day">@holiday.Date.ToString("dd", CultureInfo.InvariantCulture)</span>
                                        <span>-</span> <span class="is-gone-holiday"> @holiday.Subject</span>

                                    }
                                    else
                                    {
                                        <span class="holiday-summary-day">@holiday.Date.ToString("dd", CultureInfo.InvariantCulture)</span>
                                        <span>-</span><span class="holiday-summary-subject"> @holiday.Subject</span>

                                    }
                                </div>                                 
                            }
                        }                        
                    }
                }
            }