如何在视图中使用MVC绑定选定的单选按钮值

                     <div class="row mt-4">
                        <div class="col-md-12 correct_answer">
                            <lable>Correct Answer</lable><br /><br />
                            <label class="radio-label">
                                @Html.RadioButtonFor(x => x.IsCorrectAnswerOption1,new { @class = "form-control",@type = "radio",id = "IsCorrectAnswerOption1",name = "IsCorrectAnswerOption1"})
                                <span>A</span>
                            </label>
                            <label class="radio-label">
                                @Html.RadioButtonFor(x => x.IsCorrectAnswerOption2,id = "IsCorrectAnswerOption2",name = "IsCorrectAnswerOption2" })
                                <span>B</span>
                            </label>
                            <label class="radio-label">
                                @Html.RadioButtonFor(x => x.IsCorrectAnswerOption3,id = "IsCorrectAnswerOption3",name = "IsCorrectAnswerOption3" })
                                <span>C</span>
                            </label>
                            <label class="radio-label">
                                @Html.RadioButtonFor(x => x.IsCorrectAnswerOption4,id = "IsCorrectAnswerOption4",name = "IsCorrectAnswerOption4" })
                                <span>D</span>
                            </label>
                            <br />
                            <span id="CorrectAnswerError" class="error">Correct Answer is required</span>
                        </div>
                    </div>

在此模型中,我有四个具有不同ID和名称的不同单选按钮,我有一个真值,但在这里我无法绑定所选的单选值,即真。

clOUdland619 回答:如何在视图中使用MVC绑定选定的单选按钮值

您可以创建一个枚举并将其作为模型中的属性,而不是为每个选项使用布尔变量。在发布方法中,您可以通过以下方式直接映射用户选择的选项: MyOptions属性本身。

注意:请勿更改元素的名称属性。


//Your Model
public class Answer
{
   public Options MyOptions { get; set; }
}

public enum Options
{
  None,Option1,Option2,Option3,Option4,}

//Your Controller

public ActionResult SelectOption()
{
    Answer ans = new Answer();

    return View(ans);
}

[HttpPost]
public ActionResult SelectOption(Answer answer)
{
    var selectedOption = answer.MyOptions;

    return View();
}

//Your cshtml page
@model Answer;

@using (Html.BeginForm(FormMethod.Post))
{
    @Html.RadioButtonFor(x => x.MyOptions,Options.Option1) <span>Option 1</span>
    @Html.RadioButtonFor(x => x.MyOptions,Options.Option2)<span>Option 2</span>
    @Html.RadioButtonFor(x => x.MyOptions,Options.Option3)<span>Option 3</span>
    @Html.RadioButtonFor(x => x.MyOptions,Options.Option4)<span>Option 4</span>

    <button type="submit">Submit</button>

}

本文链接:https://www.f2er.com/3110677.html

大家都在问