使用MVC3和c#,从控制器调用部分视图

时间:2012-02-23 16:00:28

标签: c# javascript asp.net-mvc-3 jquery razor

我想设计一个应用程序我需要从用户生成一些局部视图。 我的申请学生注册。

在部分视图中,用户需要使用单选按钮选择他们是新生还是注册学生。 如果他是新生,我​​需要为他的注册提交一份表格,如果此时没有注册,我需要生成一条消息而不向他显示注册表格。 如果他是一名新生,我需要向他展示一个不同的形式。

任何人都可以建议使用razor view和c#的MVC3来解决这个问题的最佳实践。 为新注册的学生创建部分视图是一个好主意。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的情况,我使用部分视图解决了这个问题。我所做的是有一个'顶级'模型,比如说StudentModel然后我有其他'内部'模型,比如EnrolledStudentModel等。然后我在所有构建标记的模型上都有一个名为GenerateUI()的方法。

顶级模型GenerateUI()只执行以下操作:

public string GenerateUI()
{    
if(Student.IsEnrolled)
  return EnrolledStudentModel.GenerateUI();
else
  return UnenrolledStudentModel.GenerateUI();
}

然后反过来UnenrolledStudentModel.GenerateUI()检查注册是否打开并返回一个表单,否则只是一个div表示注册已关闭,或类似。

这就是我要采取的方法。希望它有所帮助