我正在構建一個視圖,用戶可以選擇一些公司,選擇一些公司後,我可以點擊一個按鈕並執行一些操作。 問題是我無法在ViewModel中綁定選定的公司。獲取ASP.Net中選定的項目MVC
下面是我有:
視圖模型:
public class ParametrosPesquisaViewModel
{
public ParametrosPesquisaViewModel()
{
Empresas = new List<EmpresaViewModel>();
}
public IList<EmpresaViewModel> Empresas { get; set; }
}
控制器:
獲取
public ActionResult Pesquisa()
{
ParametrosPesquisaViewModel parametros = new ParametrosPesquisaViewModel();
var empresas = _empresaAppService.BuscarEmpresasValidas();
foreach (EmpresaViewModel empresa in empresas)
{
//Simulando a empresa logada
empresa.Selecionada = empresa.empresa == 1;
parametros.Empresas.Add(empresa);
}
return View(parametros);
}
後
public ActionResult Pesquisa(ParametrosPesquisaViewModel parametros)
{
//Do something
}
HTML:
@model LMX.RecuperadorCupomFiscal.Application.ViewModels.ParametrosPesquisaViewModel
@using (Html.BeginForm("Pesquisa", "RecuperadorCupomFiscal", FormMethod.Post))
{
... skipping some html code
<table class="table table-striped table-hover">
<thead>
<tr>
<th>
<label for="Empresa">Empresa(s):</label>
</th>
<th>
<label for="cidade_emp">Cidade</label>
</th>
<th>
<label for="estado_emp">Estado</label>
</th>
</tr>
</thead>
<tbody>
@foreach (var empresa in Model.Empresas)
{
<tr>
<td>
@Html.CheckBoxFor(model => empresa.Selecionada)
@Html.DisplayFor(model => empresa.NomeEmpresaCodigo)
</td>
<td>
@Html.DisplayFor(model => empresa.cidade_emp)
</td>
<td>
@Html.DisplayFor(model => empresa.estado_emp)
</td>
</tr>
}
</tbody>
</table>
}
在後的ActionResult,該parametros.Empresas沒有得到綁定。 這種情況的最佳方法是什麼?
您可以使用編輯器模板來處理此問題。看看[如何知道從HttpPost創建操作方法中選擇的複選框?](http://stackoverflow.com/questions/38961222/how-to-know-the-selected-checkboxes-from-within-the -httppost-create-action-metho) – Shyju