RadioButton для всегда передавайте true контроллеру MVC - PullRequest
0 голосов
/ 29 августа 2018

Я нашел ответы на подобные вопросы во многих местах, но у меня не получилось, даже скопировав / вставив код !

Я занимаюсь разработкой приложения MVC / C #, и у меня есть свойство bool, подобное следующему:

public bool IsMarried { get; set; }

На стороне просмотра у меня есть следующий код для представления свойства:

<label class="radio-inline">
    @Html.RadioButtonFor(model => model.IsMarried , true)Yes
</label>
<label class="radio-inline">
    @Html.RadioButtonFor(model => model.IsMarried , false)No
</label>

Моя проблема заключается в том, что, куда бы я ни отправил форму, я получаю все остальные нормальные поля (текст), за исключением того, что логическое свойство всегда true

Как я уже говорил, я нашел много решений, таких как это , но я не знаю, почему это не сработало для меня.


Добавлено автором:

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

Это код Ajax:

function SaveWebFormToDatabase() {
    var formData = new FormData();
    //Append the other textboxes with the form data
    formData.append("LastName", $("#LastName").val());
    formData.append("FirstName", $("#FirstName").val());
    formData.append("IsMarried", $("#IsMarried").val());

    $.ajax({
        type: "POST",
        url: "../User/SaveFirstWebForm",
        data: formData,
        processData: false,
        contentType: false,
        success: function (data) {
            $('#loading_div').hide();
        },
        error: function (exception) {
            console.log(exception);
        }
    });
}

На стороне контроллера это метод, который принимает вызов:

[HttpPost]
    public JsonResult SaveFirstWebForm(WebApplicationFirstPhase model)
    {
        string Nme = model.FirstName + model.LastName;
        bool ArmedFBit = model.IsMarried;//this is always true!
        return Json("");
    }

1 Ответ

0 голосов
/ 30 августа 2018

Проблема в настройке селектора jquery.

Вы можете попробовать использовать

$('input[name=IsMarried]:checked').val()

вместо

$("#IsMarried").val()

получить значение, потому что вы хотите получить переключатель, который был отмечен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...