将 List/model 从视图传递到控制器
Passing a List/model from a View to a controller
我需要将模型数据从视图传递到控制器。
我的应用程序是这样工作的:
1. 搜索产品和 return 视图中的产品列表。
2.现在在用户使用列表中的产品后,我想将包含产品列表的模型传递回不同的控制器以进行进一步处理。以及用户点击的产品名称。
我该怎么做?
视图模型
public class ProductViewModel
{
public ProductViewModel()
{
products = new List<MorrisonsProduct>();
}
public MorrisonsProduct product { get; set; }
public IList<MorrisonsProduct> products { get; set; }
}
查看:
@model ProjectSeedplanter.Models.ProductViewModel
<div class="container">
<br />
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<div class="input-field ">
@Html.TextBox("query", "")
</div>
<button type="submit" class="btn waves-effect waves-light bottom-sheet">Search</button>
}
<br />
@if (Model != null && Model.products.Count > 0)
{
<table class="table-bordered">
<tr>
<th>Image</th>
<th>Store</th>
<th>Brand</th>
<th>Product Name</th>
<th>Price</th>
<th>Price per Qty</th>
</tr>
@foreach (var product in Model.products)
{
<tr>
<td><img src="@product.img" height="100" width="100" /></td>
<td><span>@product.store</span></td>
<td><span>@product.brand</span></td>
<td>@Html.ActionLink(product.name, "Search", new { prod = product, prodlis = Model.products })</td>
<td><span>£@product.price</span></td>
<td><span>£@product.pricepQty</span></td>
</tr>
}
</table>
}
</div>
控制器
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string query)
{
List<MorrisonsProduct> product = test.Search(query);
Models.ProductViewModel model = new Models.ProductViewModel();
model.products = product;
return View(model);
}
public ActionResult Search(ProductViewModel model)
{
//work here
return View("Index", product);
}
感谢任何帮助
通过废弃此应用程序解决了问题 lol :D
我需要将模型数据从视图传递到控制器。
我的应用程序是这样工作的: 1. 搜索产品和 return 视图中的产品列表。 2.现在在用户使用列表中的产品后,我想将包含产品列表的模型传递回不同的控制器以进行进一步处理。以及用户点击的产品名称。
我该怎么做?
视图模型
public class ProductViewModel
{
public ProductViewModel()
{
products = new List<MorrisonsProduct>();
}
public MorrisonsProduct product { get; set; }
public IList<MorrisonsProduct> products { get; set; }
}
查看:
@model ProjectSeedplanter.Models.ProductViewModel
<div class="container">
<br />
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
<div class="input-field ">
@Html.TextBox("query", "")
</div>
<button type="submit" class="btn waves-effect waves-light bottom-sheet">Search</button>
}
<br />
@if (Model != null && Model.products.Count > 0)
{
<table class="table-bordered">
<tr>
<th>Image</th>
<th>Store</th>
<th>Brand</th>
<th>Product Name</th>
<th>Price</th>
<th>Price per Qty</th>
</tr>
@foreach (var product in Model.products)
{
<tr>
<td><img src="@product.img" height="100" width="100" /></td>
<td><span>@product.store</span></td>
<td><span>@product.brand</span></td>
<td>@Html.ActionLink(product.name, "Search", new { prod = product, prodlis = Model.products })</td>
<td><span>£@product.price</span></td>
<td><span>£@product.pricepQty</span></td>
</tr>
}
</table>
}
</div>
控制器
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string query)
{
List<MorrisonsProduct> product = test.Search(query);
Models.ProductViewModel model = new Models.ProductViewModel();
model.products = product;
return View(model);
}
public ActionResult Search(ProductViewModel model)
{
//work here
return View("Index", product);
}
感谢任何帮助
通过废弃此应用程序解决了问题 lol :D