2013-03-28 116 views
0

控制器我新的MVC和javascript.At第一我使用JavaScript來appned在記名錶決模型不傳遞給從視圖

$('.btngo').click(function (e) { 
     var fid = $('#FiscalYear_FYId').val(); 
     alert($('#FiscalYear_FYId').val()); 
     $.ajax({ 
      type: 'Get', 
      url: '@Url.Action("RateList", "Rate")', 
      data: { fyid: fid }, 
      success: function (sc) { 
       $('#Ratelist').html(sc); 

      } 
     }); 
    }); 

的parital視圖的局部視圖是模型FHIControl.Model.StationeryRate的。 RateDTO它由一個提交按鈕我的觀點看起來像

@using (Html.BeginForm("Ratelist", "Rate", FormMethod.Post)) 
{ 
    @Html.ValidationSummary(true) 

    <table> 
    <thead> 
    <tr> 
    <th>Item Id</th> 
    <th>Item Name</th> 
    <th>Rate</th> 

    </tr> 
    </thead> 

    @Html.HiddenFor(x=>Model.FiscalYear.FYId) 
    @foreach (var item in Model.RateList) 
     { 
     <tr> 
      @Html.HiddenFor(x => item.ItemId) 
     <td>@{count++;}@count</td> 
     <td>@Html.DisplayFor(x => item.ItemName)</td> 
     <td>@Html.TextBoxFor(x => item.Rate)</td> 
     </tr> 
     } 


</table> 
     <p> 
      <input type="submit" value="Ok" id="btnsubmit" /> 
     </p> 
} 

按鈕提交的submiting形式,但沒有任何模型items.Why會這樣呢?有什麼辦法,使這項工作?

回答

0

沒有模型項目,因爲你只是路過的FiscalYear_FYId值:

var fid = $('#FiscalYear_FYId').val(); 
    $.ajax({ 
     data: { fyid: fid },      
    }); 

這應該是:

$.ajax({ 
     data: $form.serialize(),    
    }); 

其中$form是你的窗體的引用。你可以給出一個更快更好的參考名稱,或者你可以參考它:

var $form = $("#btnsubmit").parents('form'); 
相關問題