我想將部分視圖中的輸入模型傳遞給控制器。我對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
相關問題