MVC を使用して ASP.NET の作業を開始しています。アクション結果に書き込みます。そのうちの 1 つは HTTP GET で、もう 1 つは HTTP POST です。
[HttpGet]
public ActionResult DoTest()
{
Worksheet worksheets = new worksheets(..);
return View(w);
}
[HttpPost]
public ActionResult DoTest(Worksheet worksheet)
{
return PartialView("_Problems", worksheet);
}
現在、ワークシート クラスには というプロパティがProblems
あり、これはコレクションですが、抽象クラス アイテムとして使用します。
public class Worksheet
{
public List<Problem> Problems { get; set; }
}
これが私の抽象クラスと1つの実装です
public abstract class Problem
{
public Problem() { }
public int Id { get; set; }
public abstract bool IsComplete { get; }
protected abstract bool CheckResponse();
}
public class Problem1 : Problem
{
...
public decimal CorrectResult { get; set; }
// this is the only property of my implementation class which I need
public decimal? Result { get; set;}
public override bool IsComplete
{
get { return Result.HasValue; }
}
protected override bool CheckResponse()
{
return this.CorrectResult.Equals(this.Result.Value);
}
}
私は今、Problem クラスの多くの実装を持っていますが、実装クラスの値を 1 つだけ取得する必要があります。しかし、上記の画像エラーがスローされました。
モデルバインダーが抽象クラスのその部分を回復できるようにするにはどうすればよいですか