我想设计一个应用程序我需要从用户生成一些局部视图。 我的申请学生注册。
在部分视图中,用户需要使用单选按钮选择他们是新生还是注册学生。 如果他是新生,我需要为他的注册提交一份表格,如果此时没有注册,我需要生成一条消息而不向他显示注册表格。 如果他是一名新生,我需要向他展示一个不同的形式。
任何人都可以建议使用razor view和c#的MVC3来解决这个问题的最佳实践。 为新注册的学生创建部分视图是一个好主意。
答案 0 :(得分:1)
我遇到了类似的情况,我使用部分视图解决了这个问题。我所做的是有一个'顶级'模型,比如说StudentModel然后我有其他'内部'模型,比如EnrolledStudentModel等。然后我在所有构建标记的模型上都有一个名为GenerateUI()的方法。
顶级模型GenerateUI()只执行以下操作:
public string GenerateUI()
{
if(Student.IsEnrolled)
return EnrolledStudentModel.GenerateUI();
else
return UnenrolledStudentModel.GenerateUI();
}
然后反过来UnenrolledStudentModel.GenerateUI()检查注册是否打开并返回一个表单,否则只是一个div表示注册已关闭,或类似。
这就是我要采取的方法。希望它有所帮助