- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在创建测验创建器模块。有5个科目。每个主题有 2000 个问题。
比如说,它叫做“创建完整模型测试”,它将包含 100 个问题,5 个科目的 20 个问题。所以,20*5=100
在 UI 中,创建者将首先从下拉列表中选择“创建完整模型测试”。假设他选择“全模型测试”。他必须在 5 个科目中选择一个科目,然后他必须为每个科目选择 20 个问题。然后必须将它们保存到“完整模型测试”部分。
如果他选英语,他要选20道题,然后他要选别的科目,比如物理,又要选20道物理题,然后他要选数学,然后将不得不选择另外 20 个数学问题等等。最后将通过表格提交 100 个问题。
现在,我的问题是,如何将所选问题自动保存到“完整模型测试”部分,以便他可以在提交表单之前继续保存 5 个受试者的问题。
这是我的部门模型:
namespace MvcBCS.Models
{
public class Department
{
[Key]
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public string DepartmentCode { get; set; }
public virtual ICollection<Subject> Subject { get; set; }
public virtual ICollection<Section> Section { get; set; }
public virtual ICollection<Subsection> Subsection { get; set; }
}
}
这是我的主题模型:
namespace MvcBCS.Models
{
public class Subject
{
[Key]
public int SubjectId { get; set; }
public string SubjectName { get; set; }
public string SubjectCode { get; set; }
public int DepartmentId { get; set; }
public virtual Department Department { get; set; }
public virtual ICollection<Section> Section { get; set; }
}
}
这是截面模型:
namespace MvcBCS.Models
{
public class Section
{
[ForeignKey("Department")]
public int? DepartmentId { get; set; }
public virtual Department Department { get; set; }
[ForeignKey("Subject")]
public int? SubjectId { get; set; }
public virtual Subject Subject { get; set; }
[Key]
public int SectionId { get; set; }
public string SectionName { get; set; }
}
}
这是从属模型:
namespace MvcBCS.Models
{
public class Subsection
{
[ForeignKey("Department")]
public int? DepartmentId { get; set; }
public virtual Department Department { get; set; }
[ForeignKey("Subject")]
public int? SubjectId { get; set; }
public virtual Subject Subject { get; set; }
[ForeignKey("Section")]
public int? SectionId { get; set; }
public virtual Section Section { get; set; }
[Key]
public int SubsectionId { get; set; }
public string SubsectionName { get; set; }
public string SubsectionCode { get; set; }
}
}
最佳答案
您所需要的只是在客户端存储所有临时数据。当您获得完整的过去甚至完整的数据集时 - 使用 POST/JSON/XML/等将其发送到服务器。
我认为在这种情况下,您最好使用某种 JavaScript 框架,例如 KnockoutJS ,只需几次点击和几行代码,您就可以在基于对象的模型中将所有数据存储在客户端。
无论如何,无论您是否使用任何框架,您都应该使用 JavaScript 来存储您的所有数据,包括问题、答案和主题。 JavaScript 将允许您存储、验证和发送您需要的所有数据。
为了使您的 JavaScript 工作更轻松快捷 - 您可以使用 jQuery包含与 DOM 结构和服务器端交互的函数的库。
为了更轻松地学习 KnockoutJS,只需使用教程:http://learn.knockoutjs.com
关于c# - asp.net mvc 4代码首先: How to auto save complex model with lists of models in it?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23428038/
我是一名优秀的程序员,十分优秀!