我想将输入模型从局部视图传递给控制器。我对 MVC 比较陌生,所以仍在尝试了解默认模型绑定器的工作原理。
通过 AJAX (listBox) 控制器将部分视图传回并插入到表 id=searchResults 中。
@model ViewModels.LocationViewModel
@using (Ajax.BeginForm("ProcessSearch", "SearchR", new AjaxOptions
{
HttpMethod = "GET",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "searchResults",
}))
{
<div>@Html.ListBoxFor(xxx)</div>
<input id="Search" type="submit" value="Search" />
}
这是填充局部视图的控制器和 ViewModel
public class OrderViewModel
{
public string Description { get; set; }
public string Status { get; set; }
}
public ActionResult ProcessSearch(SearchViewModel search)
{
select new OrderViewModel{
Status=f.STATUS,
Description=f.DESCRIPTION}).ToList();
return PartialView(model);
}
在同一个主视图中,我有这个我想要绑定到另一个视图模型的表单。我根本不明白如何从局部视图的模型中实现默认活页夹。如果我没有正确解释这一点,我深表歉意。我希望这是有道理的。
@using (Html.BeginForm("Testing", "SearchR", FormMethod.Post))
{
<div>@Html.DropDownListFor(yyy)</div>
<input id="Reshop" type="submit" value="Reshop" />
}
<table id="searchResults"></table>
public ActionResult Testing(RSOrderViewModel rOrder)
{
return Content("hey");
}
public class RSOrderViewModel
{
public string yyy { get; set; }
public IEnumerable<OrderViewModel> sovm { get; set; }
}
@model List<ViewModels.OrderViewModel>
@{ViewData.TemplateInfo.HtmlFieldPrefix = "sovm";
}
<table id="searchResults">
<tr>
<th>Order Id</th>
<th>Order Detail</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>
@Html.DisplayFor(x => x[i].OrderId)
</td>
<td>
@Html.DisplayFor(x => x[i].OrderDetail)
</td>
</tr>
}
</table>