「質問」オブジェクトのコントローラーがあります。これらの質問が「MultipleChoice」タイプの場合、「MultipleChoiceOption」オブジェクトのコレクションを質問に追加できるようにしたいと考えています...これまでのところ、とても良いです。
私が抱えている問題は、質問を編集し、そのタイプを MultipleChoice に変更してからオプションを追加するときに、[質問の編集] ビューに戻って編集した質問をコミットする必要があることです。そうしないと、Question.Type の変更が失われます。明らかにこれは少し面倒なので、ドロップダウン リストの値が変更されるたびに、QuestionController で関連するメソッドを起動するメソッドを接続したいと考えています。
質問の編集ビューには次のものがあります。
@Html.DropDownListFor(model => model.Type, Helper.GetSelectList(), new { id = "QuestionTypeDropDown", onchange = "OnChange();" })
<script type="text/javascript">
function OnChange(text) {
...do something here
}
}
</script>
私の質問コントローラのこのメソッド:
[HttpPost]
public ActionResult QuestionTypeEdited(Question question)
{
if (ModelState.IsValid)
{
SaveQuestion(question, false);
return RedirectToAction("Edit", "Question", new { id = question.OwningPulseId });
}
return View(question);
}
しかし、それらを接続する方法がわかりません。オンラインで見つけたAjaxを使用して1つの方法を試しましたが、これによりjsがまったく起動しなくなりました(おそらくAjaxを持っていませんか?申し訳ありませんが、Ajaxについて何も知らないので、それはばかげた声明かもしれません!)。「単純な」Javascriptを使用することは可能ですか?
コントローラーを明示的に指定する必要がある場合は、知っている場合はその方法を必ず記載してください:-)
乾杯