我正在ASP.net MVC中开发一个项目。在我的注册表单中,我有一个复选框,我在其中选择要添加到数据库的项目。我的编辑形式,我必须获取这些选中的项目并显示视图:网格中的所有项目和所选的字段都保存在数据库中。我想返回查看保存在数据库中的所有选中项目。
代码如下所示:
@using Forte.Rastreador.ViewModels
@using GridMvc.Html
@model SuperModulosPerfilUsuarioViewModel
<fieldset>
@Html.Label("Nome do Perfil: ")
@Html.TextBoxFor(u => u.Descricao)
<br /><br />
</fieldset>
<fieldset> //minha checkBOX
<legend>Modulos do Sistema</legend>
@Html.Grid(Model.ModulosSistemas).Columns(columns =>
{
columns.Add()
.Encoded(false)
.Sanitized(false)
.SetWidth(30)
.RenderValueAs(o => Html.CheckBox("Checked", @Model.Check, new { value = o.CodModulo }));
columns.Add(u => u.DesModulo)
.Titled("Modulos Perfil")
.Encoded(false);
})
//Action metodo get Editar, onde retorna todo o conteudo de visualizacao para a view.
public ActionResult EditarPerfilUsuario(int CodPerfil)
{
var perfilUsuario = PerfilUsuarioRepositorio.ObterPerfilUsuarioPorCodigo(CodPerfil);
var perfilUsuarioVM = new SuperModulosPerfilUsuarioViewModel();
perfilUsuarioVM.Descricao = perfilUsuario.Descricao;
perfilUsuarioVM.ModulosSistemas = ModulosSistemaRepositorio.ListarModulosSistemas();
perfilUsuarioVM.ModulosDoPerfil = ModulosPerfilRepositorio.ListarModulosDoPerfisPorCodPerfil(CodPerfil);
foreach (var ms in perfilUsuarioVM.ModulosSistemas)
{
foreach (var mp in perfilUsuarioVM.ModulosDoPerfil)
{
if (ms.CodModulo == mp.CodModulo)
{
perfilUsuarioVM.Check = true;
}
}
}
return View("EditarPerfilUsuario", perfilUsuarioVM);
}
public IEnumerable<ModulosSistema> ListarModulosSistemas() //metodos listar que se encontram no meu repositorio
{
return this.Context.ModulosSistemas;
}
public IEnumerable<ModulosDoPerfil> ListarModulosDoPerfisPorCodPerfil(int CodPerfil)
{
return this.Context.ModulosDoPerfil.Where(c=>c.CodPerfil==CodPerfil);
}