入力モデルを部分ビューからコントローラに渡したいと思います。私はむしろ、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);
}
を移入コントローラとViewModelにあります。私は部分ビューのモデルからデフォルトのバインダーを実装する方法を理解していないだけです。私はこれを正しく説明しなければ謝罪します。それが理にかなってほしい。
@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ループを追加してプレフィックスカウンタを追加しました。それはうまくいきませんでした。なぜなら、私にこの謝り手をする何かを与えるからです。私はエディタテンプレートを使用しませんでした...それは重要ですか?私はテーブルを使うと思った。あなたの助けをもう一度ありがとう – Mustang31
@ Mustang31、あなたが '
ダーリン、申し訳ありませんが、私は上記の記事のセグメントを更新しませんでしたが、私のコードでは、フォームにテーブルを追加しました。 – Mustang31
関連する問題