2013-06-13 128 views
0

在我的視圖內我有兩個jQuery日期輸入字段,其中包含兩個用於處理這些日期選擇的按鈕。在第一個按鈕上,我通過ajax發送數據,並在一些完美的div中顯示數據。將數據從視圖發送到控制器

除了那個按鈕,我還有一個按鈕,它顯示PDF文檔內的數據。當然,我不想使用ajax,但我想使用相同的選定日期數據(我現在想使用兩個輸入來處理用戶選擇)。

所以我的視圖代碼片段是這樣的

<tr> 
    <td>@Html.TextBox("dateFrom", null, new { @class = "date", @id = "datePickerFrom" })</td> 
    <td>@Html.TextBox("dateTo", null, new { @class = "date", @id = "datePickerTo" })</td> 
    <td> 
     <input type="submit" value="Send" class="dateBtn" /></td> 
    <td> 
     <input type="submit" value="PDF" class="dateBtnPdf" /> 
    </td> 

</tr> 

,我有JS用來處理click處理程序並將數據發送到控制器的AJAX操作

$(document).ready(function() { 
    $(".dateBtn").click(function (event) { 
     var dateFrom = $("#datePickerFrom").val(); 
     var dateTo = $("#datePickerTo").val(); 
     GetDetails(dateFrom, dateTo); 
    }) 
function GetDetails(dateFrom, dateTo) { 
    $.ajax({ 
..... ommited on purpose 

所以我的問題是我怎麼能發送這個選定的值到控制器的第二個按鈕,將不會使用ajax(我是否需要使用表單,如果是這樣的話,如何使用相同的輸入字段來獲取將發送到控制器的值?)

$(".dateBtnPdf").click(function (event) { 
    var dateFrom = $("#datePickerFrom").val(); 
    var dateTo = $("#datePickerTo").val(); 

    //send values to the controller /report/pdfDemo 
}) 

感謝

回答

3

我看到幾個解決方案,這種情況下,我建議一個你接近:

<form id="form-dates" action"/report/pdfDemo"> <!-- Here you could use @Url.Action("pdfDemo","report") --> 

@Html.Hidden("dateFromPdf"); 
@Html.Hidden("dateToPdf"); 

<input type="submit" value="PDF" class="dateBtnPdf" /> 

</form> 

而在你的javascript,更新形式的隱藏價值,並提交:

$(".dateBtnPdf").click(function (event) { 
    $('[name="dateFromPdf"]').val($("#datePickerFrom").val()); 
    $('[name="dateToPdf"]').val($("#datePickerTo").val()); 

    $('#form-dates').submit(); 
    //send values to the controller /report/pdfDemo 
}) 
相關問題