2

私のビューモデルは、2 つのモデルを持つビューモデルです。

  publish class ViewModel
  { 
  public Student StudentModel{get;set;}
  public Teacher TeacherModel {get;set;}
  }

StudentForm と TeacherForm という 2 つのフォームがあり、それぞれ StudentModel と TeacherModel をバインドします。StudentForm にデータを入力して送信します。StudentForm データをクリアするために使用しますModelState.Clear();が、StudentForm のデータだけでなく TeacherForm のデータもクリアしているようです。StudentForm のデータのみをクリアするにはどうすればよいですか?

4

5 に答える 5

8

短くするために、あなたはただするかもしれません

foreach (var key in ModelState.Keys.Where(m => m.StartsWith("StudentModel")).ToList())
                ModelState.Remove(key);
于 2013-09-06T20:18:37.607 に答える
1

ModelState.Remove("StudentForm")、これについての MSDN リンクは次のとおりです

于 2013-09-08T08:27:32.697 に答える
0

アクションからモデルを返すときに、学生オブジェクトを再初期化できます

例:

    [HttpPost]
    public ActionResult ActionName(ViewModel model)
    {
       model.StudentModel = new StudentModel();
       return View(model);
    }
于 2013-09-06T15:41:05.597 に答える