Member 11648963 Ответов: 1

Множественный список переключателей, получение выбранных значений в контроллере


Я работаю над динамическим конструктором форм с множественным выбором. В этом случае форма может иметь несколько списков переключателей с различными вопросами и опциями.
Я хочу получить выбранные параметры в контроллере.

Я попробовал следующий код. Это не работает.

Что я уже пробовал:

Модель
public class clsMain
    {
        public string[] selectedAnswer { get; set; }

        public List<ClsQuestions> lstQuestion { get; set; }
        public List<ClsOptions> lstOptions { get; set; }
    }

    public class ClsQuestions
    {
        public string question { get; set; }
    }

    public class ClsOptions
    {
        public int optionid { get; set; }
        public string optionvalue { get; set; }
        public string optionlable { get; set; }
    }

контроллер
[HttpPost]
    public ActionResult FromSelectedValues(clsMain model)
    {
        return View();
    }

Смотреть
@for (int i = 0; i < 2; i++){

Question @i

 <br />
@Html.RadioButtonFor(m => m.SelectedAnswer[i], "Answer1"+i)
<label>Answer1 @i</label>
@Html.RadioButtonFor(m => m.SelectedAnswer[i], "Answer2"+i)
<label>Answer2 @i</label>
@Html.RadioButtonFor(m => m.SelectedAnswer[i], "Answer3"+i)
<label>Answer3 @i</label>
@Html.RadioButtonFor(m => m.SelectedAnswer[i], "Answer4"+i)
<label> Answer4 @i</label>
}

1 Ответов

Рейтинг:
0

Vincent Maverick Durano

Вы могли бы попробовать сделать что-то вроде этого:

	[HttpPost]
    public ActionResult FromSelectedValues(clsMain model)
    {
		if (ModelState.IsValid)
    	{
        	for (int i =0; i < model.lstQuestion.Count; i++)
        	{
            	var selectedAnswer = model.SelectedAnswer[i];
            	// do something here
        	}
        	
    	}
        return View();
    }
}


PS: Я никогда не тестировал это, но это должно помочь вам начать работу над тем, как пройти через это. Кроме того, ознакомьтесь с этой статьей для получения справки о работе с переключателями в MVC: Список переключателей в ASP.NET MVC[^]