【问题标题】:Two data models in one view (ASP.net MVC)一个视图中的两个数据模型 (ASP.net MVC)
【发布时间】:2020-07-23 02:19:22
【问题描述】:

我需要在一个视图中显示两个类的文本框。我使用实体框架数据库第一种方法,不知道如何在一个视图中显示 2 个数据模型。此外,我需要隐藏其中一个类文本框并在单击按钮时显示出来。

这里是第一类“任务”

public partial class Tasks1
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Tasks1()
    {
        this.Sub_tasks = new HashSet<Sub_tasks>();
    }

    public int Task_id { get; set; }
    public string Name { get; set; }
    public string Type { get; set; }
    public Nullable<System.DateTime> Start_date { get; set; }
    public Nullable<System.DateTime> End_date { get; set; }
    public string Assigned_dept { get; set; }
    public string Assigned_emp { get; set; }
    public string Priority_type { get; set; }
    public Nullable<bool> Status { get; set; }
    public int Step_id { get; set; }

    public virtual Step Step { get; set; }
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Sub_tasks> Sub_tasks { get; set; }
}

这是第二个

public partial class Step
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
    public Step()
    {
        this.Tasks1 = new HashSet<Tasks1>();
    }

    public int Step_id { get; set; }
    public string Step_type { get; set; }
    public Nullable<bool> Status { get; set; }
    public int Process_id { get; set; }

    public virtual Process Process { get; set; }
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
    public virtual ICollection<Tasks1> Tasks1 { get; set; }
}

我得到的错误。

请帮助我!如果我的问题很愚蠢,请您解释一下。

【问题讨论】:

    标签: asp.net sql-server asp.net-mvc


    【解决方案1】:

    您可以将这 2 个模型打包为 1 个模型,如下所示:

    public class FullVM
    {
        public Tasks1 MyTask {get;set;}
        public Step MyStep {get;set;}
    }
    

    所以你的cshtml可以这样写:

    @model YourNamespace.FullVM
    
    
    @Html.IdFor(model => model.MyTask.Assigned_emp)
    @Html.EditorFor(model => model.MyStep.Process_id)
    

    【讨论】:

      猜你喜欢
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多