【问题标题】:working with MVC3 and c#,calling partial views from controller使用 MVC3 和 c#,从控制器调用部分视图
【发布时间】:2012-02-23 16:00:27
【问题描述】:
我想设计一个应用程序,我需要从用户那里生成一些局部视图。
我的申请学生注册。
在部分视图中,用户需要使用单选按钮选择他们是新学生还是已注册学生。
如果他是新学生,我需要为他的注册提供表格,如果此时无法注册,我需要在不向他显示注册表格的情况下生成一条消息。
如果他是新学生,我需要给他看一个不同的表格。
任何人都可以建议使用带有剃刀视图和 c# 的 MVC3 处理此问题的最佳实践是什么。
为新的和注册的学生创建部分视图是一个好主意吗?
【问题讨论】:
标签:
c#
javascript
asp.net-mvc-3
jquery
razor
【解决方案1】:
我遇到过类似的情况,我使用部分视图解决了这些情况。我要做的是有一个“顶级”模型,比如 StudentModel,然后我有其他“内部”模型,例如 EnrolledStudentModel 等。然后我在所有构建标记的模型上都有一个名为 GenerateUI() 的方法。
顶级模型 GenerateUI() 只是简单地执行以下操作:
public string GenerateUI()
{
if(Student.IsEnrolled)
return EnrolledStudentModel.GenerateUI();
else
return UnenrolledStudentModel.GenerateUI();
}
然后 UnenrolledStudentModel.GenerateUI() 依次检查注册是否打开并返回一个表单,否则只是一个表示注册已关闭或类似的 div。
这就是我会采取的方法。希望对你有帮助