我有一個「問題」對象的控制器;如果這些問題的類型爲「MultipleChoice」,那麼我希望能夠將「MultipleChoiceOption」對象的集合添加到問題中......迄今爲止,這很好。我可以使用Javascript在我的MVC控制器中觸發一個方法嗎?
我遇到的問題是,當我編輯問題時,將其類型更改爲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的方法,但是這只是阻止了js開火(也許我沒有Ajax?對不起,我對Ajax一無所知,因此可能是一個愚蠢的聲明!)。是否有可能使用「簡單」Javascript?
如果我需要明確指定控制器,請務必註明瞭如果你:-)知道
乾杯
它不會超級簡單,但可以使用javascript和AJAX。如果你有JavaScript,你可以使用異步JavaScript和XML。 – jrummell