2015-05-04 4 views
-1

У меня есть buttonOnclick, которая принимает 2 параметраКак передать параметры из @ Url.Action на контроллер

$('.Conteiner').on("click", ".Button", function() { 
     window.location.href = '@Url.Action("Form", "State", new {numberNights, datepicker})'; 
    }); 

Мне нужно передать параметры от @ Url.Action к контроллеру

Мой контроллер:

public ActionResult Form(int numberNights, string datepicker) 
     { 
      @ViewBag.NumberNights = numberNights; 
      @ViewBag.DatePicker = datepicker; 
      return View(); 
     } 

Параметр numberNights проходит Хорошо, но datepicker всегда null. Зачем?

+0

Попробуйте это 'window.location.href =" State/Form? NumberNights = "+ numberNights" + & + "datepicker =" + datepicker; 'Убедитесь, что у вашего дампикера есть значение !! –

ответ

4

Во-первых, вам нужно на самом деле назвать членов анонимного объекта, т.е .:

new { numberOfNights = numberOfNights, datepicker = datepicker } 

numberOfNights, вероятно приходит через совершенно случайно, так как это первый параметр действия.

Во-вторых, убедитесь, что вы не смешиваете клиентский и серверный код. А именно, для того, чтобы значение передавалось для datepicker, оно должно быть переменной C#, определенной в вашем коде Razor, а не переменной JavaScript. Значение также должно существовать до того, как ваш JavaScript сможет запустить. Если вам необходимо динамически обновлять его, когда пользователь меняет значение datepicker, вам необходимо отказаться от его передачи в Url.Action.

Смежные вопросы