我有多步骤表格,用户完成大学注册:
在第一种形式中,学生填写他的个人信息。 (姓名,电子邮件,手机) 在第二种形式,学生填写高中获得的分数。 (百分比) 第三种形式,学生填写他父母的详细信息。 (姓名,电子邮件,手机)
这最终会保存到数据库中。
我为这些表单创建了三个部分视图。
我应该创建包含所有这些字段的1个c#模型类,并在三个部分视图中使用它吗?
OR
为每个视图创建单独的c#模型类?
请注意,这些表单步骤可能在桌面,移动设备,应用等不同平台上具有不同的布局/字段数量,即我们计划在桌面上将step1和step2结合起来,并将它们作为单独的步骤放在桌面和移动设备上。应用
答案 0 :(得分:0)
做点什么
public class ViewModel
{
public basic BDetails{get;set;}
public Advanced ADetails{get;set;}
public Personal PDetails{get;set;}
}
public class basic{
.....
}
public class Advanced
{
....
}
public class Personal
{
......
}
使用ViewModel类作为View类
答案 1 :(得分:0)
单独的模型和数据库表。
我为一所中学做了类似的项目,原始系统基于平坦的地形。随着兄弟姐妹的注册,最终出现了多个孩子和多余的信息。数据部分归一化为家庭,学生,学校,科目和桥牌表的表格,以处理它们之间的1:n和n:n关系。
虽然这需要花费更长的时间来实现,但系统增强后更容易用户友好。学校已经预先填好,可以在名单中选出;与受试者一样。地址标准化以符合邮局规范。
最终结果是一个非常开心的客户。除了信息的统一性,重复的电子邮件和邮件邮件也大大减少了。他们还签订了进一步的工作合同,以增加人口统计报告,并确定他们的招聘弱点和优势。他们还与一家姊妹公司签约进行营销。
答案 2 :(得分:0)
首先:我建议你为学生和家长使用一个模型(因为他们有类似的属性 - 姓名,电子邮件,移动)。你可以创建一个Person模型,它可以有enum
PersonType。 PersonType应为Student或Parent:
public class Person
{
public int PersonId { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Mobile { get; set; }
public PersonType Person { get; set; }
}
enum PersonType
{
Student,
Parent
}
下一步:在您的情况下只需要一个视图。使用ViewModel作为它的模型。 ViewModel看起来像这样:
public class VMStudentDetails
{
public float Percentage { get; set; }
public Person Student { get; set; }
public Person Parent { get; set; }
}