我有考試的視圖模型。每個考試都有任意數量的問題。這可能是1個問題,也可能是50個問題。提交後,我需要循環回答問題並檢查答案。我有一個解決方案,但我覺得這不是一個最佳做法。ASP.NET MVC處理控制器中動態參數數量的最佳方法
int questionNumber = 1;
while (Request.Form["Question" + questionNumber.ToString()] != null)
{
int questionID = Convert.ToInt32(Request.Form["Question" + questionNumber.ToString()]);
int answerID = Convert.ToInt32(Request.Form["Answer" + questionNumber.ToString()]);
//TODO: Check if answer is correct
}
的不確定另一種方式來做到這一點像
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult GradeTest(int? testID, string[] questionIDs, string[] answerIDs)
我在做什麼感覺有點哈克。請幫助或讓我知道我在正確的軌道上。謝謝!
不要這樣做。以正確的方式做,使用ViewModel。您正在採用ASP.NET MVC的一些核心方面並將它們拋出窗口。它可以幫助你瀏覽一些教程 – Jonesopolis
Yeah Jonesy這樣做完全傷害了我。 – kcabrams