C# ASP.NET MVC、显示和;发布来自两个独立模型的数据
我正在构建一个申请表,目前有三个模型用于处理所有数据,并与我的DBMS链接C# ASP.NET MVC、显示和;发布来自两个独立模型的数据,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我正在构建一个申请表,目前有三个模型用于处理所有数据,并与我的DBMS链接 ApplicationSubmission.cs:包含ID、字符名和添加日期字段 ApplicationQuestion.cs:它包含数据结构并从数据库中提取问题,我将使用数据库显示在网站前端 ApplicationAnswer.cs:包含ID、应用程序ID、问题ID和答案字段。应用程序id和问题id需要与上述两个模型中的id链接 ApplicationSubmission.cs public partial cla
:包含ID、字符名和添加日期字段ApplicationSubmission.cs
:它包含数据结构并从数据库中提取问题,我将使用数据库显示在网站前端ApplicationQuestion.cs
:包含ID、应用程序ID、问题ID和答案字段。应用程序id和问题id需要与上述两个模型中的id链接ApplicationAnswer.cs
public partial class ApplicationSubmission
{
public long id { get; set; }
[Column(TypeName = "text")]
public string character_name { get; set; }
public DateTime? date_added { get; set; }
}
ApplicationQuestion.cs
public partial class ApplicationQuestion
{
public int id { get; set; }
[Column(TypeName = "text")]
public string question { get; set; }
[Column(TypeName = "text")]
public string description { get; set; }
}
ApplicationAnswer.cs
public partial class ApplicationAnswer
{
public int id { get; set; }
public int application_id { get; set; }
public int question_id { get; set; }
[Column(TypeName = "text")]
public string answer { get; set; }
}
我的问题是:我如何在razor视图中实现这些,这样我就可以完成问题名称/描述,但将发布的数据放入一个新的ApplicationAnswer对象,但引用与之相关的问题id?也许您可以这样做
public partial class ApplicationAnswer
{
public ApplicationQuestion question { get; set; }
public ApplicationSubmission submission { get; set; }
public int id { get; set; }
public int application_id { get; set; }
public int question_id { get; set; }
[Column(TypeName = "text")]
public string answer { get; set; }
}
然后,您的视图将只接受ApplicationAnswer模型,但从该模型中,它还可以访问Submission和Question属性。创建一个包含这些模型类中所有必需属性的viewmodel如何?另请参阅:。通常razor本身不支持此用例。您通常会做什么:将您提交的模型作为razor视图模型,然后通过ajax请求获取所有问题和其他数据,并用javascript填充它。或者,如果您使用的是asp.net core,则在本例中您可能希望使用“视图组件”。