C# 为两个控制器创建一个视图页&;两个模型班?

C# 为两个控制器创建一个视图页&;两个模型班?,c#,asp.net,visual-studio-2013,asp.net-mvc-5,C#,Asp.net,Visual Studio 2013,Asp.net Mvc 5,我创建部门脚手架和管制员名称 我有以下项目结构: 网 控制器 部门控制员 指定控制器.cs 模型 科室 名称.cs 观点 系 名称 使用以下数据库结构: 数据库 系 deptID(主键) 部门名称 描述 名称 desgtID(主键) 脱落 描述 问题: 身份证 deptID(外键) desgID(外键) 昆纳姆 日期时间 我想为这些场景创建一个视图页面。像这样: 插入表格名称(文本框)+部门名称(下拉列表框)+指定名称(下拉列表框) Department.

我创建部门脚手架和管制员名称

我有以下项目结构:

    • 控制器
      • 部门控制员
      • 指定控制器.cs
    • 模型
      • 科室
      • 名称.cs
    • 观点
      • 名称
使用以下数据库结构:

  • 数据库
      • deptID(主键)
      • 部门名称
      • 描述
    • 名称
      • desgtID(主键)
      • 脱落
      • 描述
    • 问题:
      • 身份证
      • deptID(外键)
      • desgID(外键)
      • 昆纳姆
      • 日期时间
我想为这些场景创建一个视图页面。像这样:

插入表格名称(文本框)+部门名称(下拉列表框)+指定名称(下拉列表框)

Department.cs

namespace mvcAppraisalSystem.Models
{
  public class Department
  {
        [Key]
        public int deptID { get; set; }
        public string deptName { get; set; }
        public string Description { get; set; }

   }
   public class CompanyDBContext : DbContext
  {
    public DbSet<Department> Departments { get; set; }
  }
}
namespace mvcAppraisalSystem.Models
{
   public class Designation
   {
        [Key]
        public int desgID { get; set; }
        public string desgName { get; set; }
        public string description { get; set; }
   }
   public class RoleDBContext : DbContext
   {
       public DbSet<Designation> Designations { get; set; }
   }
}
namespace mvcAppraisalSystem.Models
{
公共课系
{
[关键]
public int deptID{get;set;}
公共字符串deptName{get;set;}
公共字符串说明{get;set;}
}
公共类CompanyDBContext:DbContext
{
公共数据库集部门{get;set;}
}
}
名称.cs

namespace mvcAppraisalSystem.Models
{
  public class Department
  {
        [Key]
        public int deptID { get; set; }
        public string deptName { get; set; }
        public string Description { get; set; }

   }
   public class CompanyDBContext : DbContext
  {
    public DbSet<Department> Departments { get; set; }
  }
}
namespace mvcAppraisalSystem.Models
{
   public class Designation
   {
        [Key]
        public int desgID { get; set; }
        public string desgName { get; set; }
        public string description { get; set; }
   }
   public class RoleDBContext : DbContext
   {
       public DbSet<Designation> Designations { get; set; }
   }
}
namespace mvcAppraisalSystem.Models
{
公共班级名称
{
[关键]
public int desgID{get;set;}
公共字符串desgName{get;set;}
公共字符串说明{get;set;}
}
公共类RoleDBContext:DbContext
{
公共数据库集指定{get;set;}
}
}

有很多方法可以做到这一点。您可以创建视图模型,该模型将是此视图的特定模型。视图模型将包含部门和名称的列表,以及所选部门、名称和字段的id

然后使用强类型视图创建视图模型

可能的视图模型示例:

        public class MyScenarioForm
        {
            [Key]
            public string FormName { get; set; }
            public int SelectedDesgId {get; set;}
            public int SelectedDeptId { get; set; }

            public IEnumerable<Designation> Designations { get; set; }
            public IEnumerable<Department> Departments { get; set; } 

            // ... constructor or method that creates initial instance with Designations and Departments populated
        }
公共类MyScenarioForm
{
[关键]
公共字符串FormName{get;set;}
public int SelectedDesgId{get;set;}
public int SelectedDeptId{get;set;}
公共IEnumerable指定{get;set;}
公共IEnumerable部门{get;set;}
//…创建初始实例并填充名称和部门的构造函数或方法
}

处理下拉列表的另一种方法是对这些下拉列表使用局部视图。这样,该表单的视图模型就不需要有名称和部门的列表。如果您要重用这些下拉列表,那么您可以重用这些局部视图。

这里我们需要创建一个类。类是从webfrom或simple类或.cshtml页???这是Models文件夹中的cs模型类。然后,您将继续创建一个新的强类型视图,并选择新的视图模型类作为模型。您可以将解决方案扩展为更具体的视图。事实上,我在mvc5或visual studio 2013的纽约。