如何返回查看CheckBox检查的项目?

时间:2015-02-13 18:54:29

标签: c# asp.net-mvc checkbox

我正在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);
}

0 个答案:

没有答案