2015-05-04 85 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是通过确定,但日期选择器始终为空。为什么?

+0

试试这个'window.location.href =“State/Form?numberNights =”+ numberNights“+&+”datepicker =“+ datepicker;'确保你的datepicker有一个值! –

回答

4

首先,你需要对它进行命名匿名对象的成员,即:

new { numberOfNights = numberOfNights, datepicker = datepicker } 

numberOfNights,可能是未来通过纯粹的意外,因为它是行动的第一个参数。

其次,确保你没有混合客户端和服务器端代码。也就是说,为了让datepicker传递一个值,它必须是一个在Razor代码中定义的C#变量,而不是JavaScript变量。在JavaScript有机会运行之前,这个值也必须存在。如果您需要在用户更改日期选择器值时动态更新它,则需要放弃在Url.Action中传递它。

相关问题