Я пытаюсь визуализировать частичное представление динамически, когда пользователь выбирает значение из выпадающего списка.Я получил довольно далеко, но не могу понять этот последний бит.
Вот файл View / Quiz / AddQuestion.cshtml
@model quizAppCodeFirst.ViewModels.QuestionTypes
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div>
Type @Html.DropDownList("QuestionTypes", ViewData["QuestionTypes"] as SelectList, new { @class = "form-control" })
<div id="partialPlaceHolder"> </div>
</div>
}
<script type="text/javascript" src="~/Scripts/jquery-3.3.1.min.js"></script>
<script type="Text/javascript">
$(function(){
$("#QuestionTypes").change(function(){
var stateId=$(this).val();
$("#partialPlaceHolder").load("@Url.Action("MyAction", "Quiz")/MCQ");
});
});
</script>
В QuizController.cs этоМетод MyAction, который отображает частичные значения
public ActionResult MyAction(string id)
{
Type t = Type.GetType("quizAppCodeFirst.Quiz" + id);
return PartialView(viewName, t);
}
До сих пор мне удавалось отобразить частичное представление, но когда я нажимаю кнопку внутри частичного представления, он перезагружает метод javascript / MyAction.
Редактировать: чтобы прояснить ситуацию, у меня есть основной вид, который является View / Quiz / AddQuestions.cshtml, и внутри него я вызываю частичный вид, который является View / MCQ / AddMCQ.cshtml, когда пользователь выбирает MCQ из выпадающего списка.Частичное представление (AddMCQ) загружается отлично и отображает форму для добавления MCQ с помощью кнопки «Создать», но когда я нажимаю кнопку «Создать», вместо вызова функции MCQController.cs / AddMCQ, она вызывает функцию QuizController.cs / MyAction,Я могу добавить код для AddMCQ.cshtml, но мне кажется, что он не нужен, поскольку сам по себе работает нормально.