Как получить значение переключателя в бритве, чтобы передать его в качестве параметра к действию? - PullRequest
0 голосов
/ 24 декабря 2018

В представлении у меня есть две радиокнопки:

 @Html.RadioButtonFor(model => model.TipoVP, new String("VP_A".ToCharArray()), new { @checked = "checked" })
 <span class="custom-control-label">Partial View A</span>
 @Html.RadioButtonFor(model => model.TipoVP, new String("VP_B".ToCharArray()))
 <span class="custom-control-label">Partial View B</span>  

Действие контроллера выглядит следующим образом:

 public ActionResult GetVistaParcial(string tipov)
 {
    if (tipov == null || tipov == "VP_A")
       return PartialView("_PartialView_A");
    else
       return PartialView("_PartialView_B");
 }

}

И вызов наДействие контроллера для загрузки частичного или другого вида в соответствии с выбранным переключателем

 @Html.Action("GetVistaParcial", "miControlador", new { tipov = "the value of checked RadioButton" } )  

Сценарий события изменения переключателя:

 $("[name=TipoVP]").on('change', function () {
    var $rb = $(this);
    $.ajax({
       url: '/miControlador/GetVistaParcial/',
       data: { tipov: $rb.val() },
       success: function (respuesta) {
          $("#vistaparcial").html(respuesta);
       }
    });
 });

Как передать значениерадиокнопки отмечен как параметр к действию?
Должен работать при выполнении GET и POST

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Измените данные этой строки: {tipov: $ rb.val ()} на

       data: JSON.stringify({ tipov: $rb.val() }),

При отправке данных на веб-сервер данные должны быть строкой, а метод JSON.stringify преобразуетОбъект JavaScript в строку.

Спасибо

0 голосов
/ 24 декабря 2018

Мне интересно, если вы хотите перейти на другую страницу.

@using (Html.BeginForm("GetVistaParcial", "Home"))
{
  @Html.RadioButtonFor(model => model.TipoVP, new 
     string("VP_A".ToCharArray()), new { @checked = "checked" })
         <span class="custom-control-label">Partial View A</span>

  @Html.RadioButtonFor(model => model.TipoVP, new 
     String("VP_B".ToCharArray()))
       <span class="custom-control-label">Partial View B</span> 

  <input type="submit" value="submit" />
}

, и вам не нужно называть это:

@Html.Action("GetVistaParcial", "miControlador", new { tipov = "the value of checked RadioButton" } ) 

Ваше действие должно получить модель:

public IActionResult GetVistaParcial(YourModel model)
{
   return View();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...