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(外键)
- 昆纳姆
- 日期时间
- 系
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的纽约。