模型不传递给从视图
问题描述:
控制器我新的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会这样呢?有什么办法,使这项工作?
答
没有模型项目,因为你只是路过的FiscalYear_FYId
值:
var fid = $('#FiscalYear_FYId').val();
$.ajax({
data: { fyid: fid },
});
这应该是:
$.ajax({
data: $form.serialize(),
});
其中$form
是你的窗体的引用。你可以给出一个更快更好的参考名称,或者你可以参考它:
var $form = $("#btnsubmit").parents('form');