1
我无法成功地将我的部分视图中的值发布到我的操作 - 所有属性均为空。部分视图模型的值在提交时为null
局部视图型号:
public class AddressViewModel
{
public string ClientNumber { get; set; }
public string Line1 { get; set; }
public string Line2 { get; set; }
public string Line3 { get; set; }
public string Suburb { get; set; }
public string PostalCode { get; set; }
}
局部视图:
@model Models.AddressViewModel
@{
Layout = null;
}
@using (Html.BeginForm("UseAddress", "Home"))
{
<div>
<table>
<tr>
<td>
<div class="display-label">
@Html.DisplayNameFor(model => model.Line1)
</div>
</td>
<td>
<div class="display-field">
@Html.DisplayFor(model => model.Line1)
</div>
</td>
........
</tr>
</table>
<input type="submit" name="UseAddress" id="submitbutton" value="Use Address" />
</div>
}
操作:
[HttpPost]
[Authorize]
public ActionResult UseAddress(AddressViewModel model)
{
return RedirectToAction("Index", "Home");
}
局部视图是通过如下选择一个下拉在网页上呈现:
<script type="text/javascript">
$(function() {
$('#AddressTypeDropdownList').change(function() {
var url = $(this).data('url');
$('#Address').load(url);
});
});
</script>
@Html.DropDownListFor(
x => x.SelectedAddressTypeId,
new SelectList(Model.AddressTypes, "Value", "Text"),
"-- Select Address Type --",
new
{
id = "AddressTypeDropdownList",
data_url = Url.Action("_Address", "Home")
}
)
<div id="Address"></div>
public ActionResult _Address()
{
AddressViewModel addressViewModel = new AddressViewModel {
ClientNumber = "test"
};
return PartialView(addressViewModel);
}
我希望UseAddress方法有model.ClientNumber == "test"
当我点击提交按钮,但它是空的......有没有什么明显的,我做错了?
您可以看看Request.Form并发布Keys数组中的内容 –
Request.Form只有1个键:UseAddress和它的值==“使用地址” – woggles