private void GuardarPergunta() { bool bEdicao = !string.IsNullOrWhiteSpace(hFAdicionar.Value); List <Formulario.Pergunta> listaPerguntas = ViewState["ListaPerguntas"] as List <Formulario.Pergunta>; if (listaPerguntas == null) { listaPerguntas = new List <Formulario.Pergunta>(); } Formulario.Pergunta pergunta = new Formulario.Pergunta(); pergunta.PerguntaID = int.Parse(hFIDPergunta.Value); pergunta.Titulo = txtTituloPergunta.Texto; pergunta.Tipo = ConverterStringEmEnum(dplTipoPergunta.SelectedValue); pergunta.Obrigatoria = cObrigatoria.Checked; pergunta.Descricao = txtDescricaoPergunta.Texto; pergunta.RespostasOpcoesMemoria = AdicionarResposta(); if (bEdicao) { int indice = int.Parse(hFAdicionar.Value); listaPerguntas[indice] = pergunta; } else { listaPerguntas.Add(pergunta); } rptPerguntas.DataSource = listaPerguntas; rptPerguntas.DataBind(); ViewState["ListaPerguntas"] = listaPerguntas; }
protected void rptPerguntas_ItemDataBound(object sender, RepeaterItemEventArgs e) { Formulario.Pergunta perg = e.Item.DataItem as Formulario.Pergunta; if (perg.Tipo == Formulario.TipoPergunta.MultiplaEscolha) { var controle = (e.Item.FindControl("rdRespostas") as RadioButtonList); controle.DataSource = perg.RespostasOpcoesMemoria; controle.DataTextField = "Texto"; controle.DataValueField = "Ordem"; controle.DataBind(); controle.Visible = true; } else if (perg.Tipo == Formulario.TipoPergunta.CaixaDeSelecao) { var controle = (e.Item.FindControl("chkRespostas") as CheckBoxList); controle.DataSource = perg.RespostasOpcoesMemoria; controle.DataTextField = "Texto"; controle.DataValueField = "Ordem"; controle.DataBind(); controle.Visible = true; } else if (perg.Tipo == Formulario.TipoPergunta.ListaSuspensa) { var controle = (e.Item.FindControl("ddlRespostas") as DropDownList); controle.DataSource = perg.RespostasOpcoesMemoria; controle.DataTextField = "Texto"; controle.DataValueField = "Ordem"; controle.DataBind(); controle.Visible = true; } else if (perg.Tipo == Formulario.TipoPergunta.RespostaCurta) { var controle = (e.Item.FindControl("txtRespostaCurta") as Abseed.Campo); controle.Visible = true; } else if (perg.Tipo == Formulario.TipoPergunta.RespostaLonga) { var controle = (e.Item.FindControl("txtRespostaLonga") as Abseed.Campo); controle.Visible = true; } if (perg.Obrigatoria) { var controle = (e.Item.FindControl("lblObrigatoria") as Label); controle.Visible = true; } }