【问题标题】:Two tables in a view with ViewModelViewModel 视图中的两个表
【发布时间】:2017-05-28 18:23:08
【问题描述】:

我在模型文件夹中建立了一个名为 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 表中读取并填写表单,然后用户填写其他空(内容)字段,然后最后按下一个键,信息保存在投注表中。我有这样的银行:codeFirst,迁移

【问题讨论】:

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


    【解决方案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>                                 
                                }
                            }                        
                        }
                    }
                }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-22
        • 1970-01-01
        • 2019-08-01
        相关资源
        最近更新 更多