我发布表单数据后如何使用ModelState清除表单,我的视图模型是一个有两个模型的viewmodel?

Sar*_*rly 1 asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我的视图模型是一个viewmodel,它有两个模型,

  publish class ViewModel
  { 
  public Student StudentModel{get;set;}
  public Teacher TeacherModel {get;set;}
  }
Run Code Online (Sandbox Code Playgroud)

我有两个名为StudentForm和TeacherForm的表单,分别绑定StudentModel和TeacherModel.现在我在StudentForm中填写一些数据并提交它.我用它ModelState.Clear();来清除我的StudentForm数据,但似乎不仅清楚StudentForm的数据而且还清楚了TeacherForm,我怎样才能清除StudentForm的数据?

Rap*_*aus 7

缩短,你可能只是做

foreach (var key in ModelState.Keys.Where(m => m.StartsWith("StudentModel")).ToList())
                ModelState.Remove(key);
Run Code Online (Sandbox Code Playgroud)