Как создать несколько групп Radiobutton в ASP.Net Core 2 и Razor? - PullRequest
0 голосов
/ 21 мая 2018

Я хочу создать несколько сгруппированных радио кнопок.Итак, в основном у меня есть несколько вопросов и 3 переключателя с ответами.Проблема, с которой я сталкиваюсь, заключается в том, как вернуть выбранное значение для нескольких переключателей.

Контроллер

public IActionResult Test()
    {
        SafetyObservationCardForm form = new SafetyObservationCardForm();
        using (IDbConnection dbConnection = Connection)
        {
            dbConnection.Open();
            var questions = dbConnection.Query<QuestionsViewModel>("SELECT * FROM SOCQuestions ORDER BY soc_order_id");

            var observationType = new List<ObservationType>
            {
                new ObservationType { Id = 1, Name = "Safe" },
                new ObservationType { Id = 2, Name = "At Risk" },
                new ObservationType { Id = 3, Name = "N/A" }
            };

            var rb = new List<Answer>();
            foreach (var item in questions)
            {
                rb.Add(new Answer { Id = item.soc_question_id, ObservationTypes = observationType }); 
            };

            form.Answers = rb;
            form.Questions = questions.ToList();

            return View(form);
        }
    }

Модель

public class SafetyObservationCardForm
{
    public List<QuestionsViewModel> Questions { get; set; }
    public string Comments { get; set; }
    public string Location { get; set; }
    public string Observer { get; set; }
    public DateTime TimeStamp { get; set; }
    public string Task { get; set; }
    public ObserverType ObserverType { get; set; }
    public IEnumerable<Answer> Answers { get; set; }
}
public class ObserverType
{
    public bool Supervisor { get; set; }
    public bool Peer { get; set; }
    public bool Self { get; set; }
    public bool Other { get; set; }
}

public class ObservationType
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class Answer
{
    public int Id { get; set; }
    public IEnumerable<ObservationType> ObservationTypes { get; set; }
    public int SelectedObservation { get; set; }
    }
}

Просмотр

Здесь я пробую цикл.Модель ответов не имеет значения, когда я по какой-либо причине отправляю форму.

@model DBI.Safety.Models.SafetyObservationCardForm
<form asp-action="CreateTest">
@foreach (var answer in Model.Answers)
{
    <input name="@answer.Id" asp-for="@answer.SelectedObservation" type="radio" 
    value="@answer.Id" /> @answer.ObservationTypes
}
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...