2013-03-28 127 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'); 
相关问题