2015-05-04 129 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中傳遞它。

相關問題