protected void btnSalvar_Click(object sender, EventArgs e)
    {
        var pagina = new Pagina();
        pagina.IsTransaction = true;
        try
        {
            if (txtId.Text != "")
            {
                pagina.IDPagina = int.Parse(txtId.Text);
                pagina.Get();
            }

            pagina.Nome = txtNome.Text;
            pagina.Descricao = txtDescricao.Text;
            pagina.Slug = txtSlug.Text;
            if (ddlPagina.SelectedValue != "0")
                pagina.IDPaginaPai = int.Parse(ddlPagina.SelectedValue);
            pagina.IDTemplate = int.Parse(ddlTemplate.SelectedValue);
            pagina.Save();

            var relacionaPagina = new RelacionaPagina();
            relacionaPagina.Transaction = pagina.Transaction;
            relacionaPagina.Pagina = pagina;
            relacionaPagina.Cliente = Cliente.Current();
            relacionaPagina.Programa = Programa.Current();
            relacionaPagina.Campanha = Campanha.Current();
            relacionaPagina.Get();
            relacionaPagina.Restrito = chkRestrito.Checked;
            relacionaPagina.Interna = chkInterna.Checked;
            relacionaPagina.Ordem = int.Parse(ddlOrdem.SelectedValue);
            relacionaPagina.Save();

            pagina.Commit();

            GetPagina((int)pagina.IDPagina);

            Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('Registro salvo.')</script>");
        }
        catch (Exception err)
        {
            pagina.Rollback();
            Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script>alert('" + FormatError.FormatMessageForJAlert(err.Message) + "')</script>");
        }
    }
    private void GetPagina(int idPagina)
    {
        dvSalvarPagina.Visible = true;
        dvListarPaginas.Visible = false;
        btnEditarTemplate.Visible = true;
        btnNovoTemplate.Visible = false;

        var pagina = new Pagina();
        pagina.IDPagina = idPagina;
        pagina.Get();
        if (pagina.IDPagina == null)
        {
            GetPaginas();
            return;
        }

        txtId.Text = pagina.IDPagina.ToString();

        LoadCombos();

        txtNome.Text = pagina.Nome;
        txtDescricao.Text = pagina.Descricao;
        ddlTemplate.SelectedValue = pagina.IDTemplate.ToString();
        txtSlug.Text = pagina.Slug;

        if (ddlPagina.Items.FindByValue(pagina.IDPaginaPai.ToString()) != null)
            ddlPagina.SelectedValue = pagina.IDPaginaPai.ToString();

        var relacionaPagina = new RelacionaPagina();
        relacionaPagina.Pagina = pagina;
        relacionaPagina.Cliente = Cliente.Current();
        relacionaPagina.Programa = Programa.Current();
        relacionaPagina.Campanha = Campanha.Current();
        relacionaPagina.Get();

        chkRestrito.Checked = (bool)relacionaPagina.Restrito;
        chkInterna.Checked = (bool)relacionaPagina.Interna;

        if(ddlOrdem.Items.FindByValue(relacionaPagina.Ordem.ToString()) != null)
            ddlOrdem.SelectedValue = relacionaPagina.Ordem.ToString();
    }