我想将部分视图中的输入模型传递给控制器。我对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" />
}
这里是控制器和视图模型用于填充局部视图
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>
嗨达林,我在上面加了你提到的改变的部分视图。基于我有限的理解,我添加了一个for循环来添加一个前缀计数器。它没有工作,这是很好的,因为它给了我一些事情来做这个周末...... arg。我没有使用编辑器模板......这很重要吗?我想我会用一张桌子。再次感谢您的帮助 – Mustang31 2012-04-13 19:36:32
@ Mustang31,在您展示的示例中,“
达林,对不起,我没有更新上述帖子的部分,但在我的代码中,我没有将表格添加到表单中。 – Mustang31 2012-04-13 20:55:06
相关问题