Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/08/2009, 07:06
Avatar de pyroCL
pyroCL
 
Fecha de Ingreso: marzo-2009
Ubicación: C#
Mensajes: 261
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: construir preguntas en webform

Hola, no te entendí mucho... pero por lo que entendí, espero te sirva algo como esto.

Hecho en C#.


Code Source de la página:

Código HTML:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Presentacion.Paginas.WebForm2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
        #Pregunta
        {
            height: 35px;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        Introducir Pregunta :
        <asp:TextBox ID="TextBox1" runat="server" Height="26px" Width="150px"></asp:TextBox>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; forma Respuesta:
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" Text="Aceptar" 
            onclick="Button1_Click" />
        <br />
        <br />
    
    </div>
    
    
    <div id="Usuarios" style="background-color:Aqua">
    <div id="Pregunta">
        <asp:Label ID="lblPregunta" runat="server" Text="Aqui irá la pregunta"></asp:Label>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button2" runat="server" onclick="Button2_Click" 
            Text="Responder" />
        </div>
    <div id="panel1" style="position:relative; top: 42px; left: 104px; width: 348px;">
        <asp:Panel ID="Panel3" runat="server" BackColor="Aqua" Height="57px" Width="364px" 
            Visible="False">
            <asp:RadioButtonList ID="RadioButtonList1" runat="server" Height="21px" 
                RepeatDirection="Horizontal" Width="82px">
                <asp:ListItem>Yes</asp:ListItem>
                <asp:ListItem>No</asp:ListItem>
            </asp:RadioButtonList>
        </asp:Panel>
    </div>
    <div id="panel2" 
        
            style="height: 57px; width: 364px; position:relative; top: -32px; left: 106px;">&nbsp;
        <asp:Panel 
            ID="Panel4" runat="server" BackColor="Aqua" Width="372px" Height="43px" 
            Visible="False">
        Respuesta :
        <asp:TextBox ID="TextBox2" runat="server" Width="278px"></asp:TextBox>
        </asp:Panel>
    </div>
    
    </div>
    </form>
</body>
</html> 

Code behind de la página:

Código C#:
Ver original
  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.HtmlControls;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11.  
  12. namespace Presentacion.Paginas
  13. {
  14.     public partial class WebForm2 : System.Web.UI.Page
  15.     {
  16.         protected void Page_Load(object sender, EventArgs e)
  17.         {
  18.             obtienepreguntas();
  19.         }
  20.  
  21.         public void preguntas()
  22.         {
  23.  
  24.         }
  25.         //parte Administrador
  26.         protected void Button1_Click(object sender, EventArgs e)
  27.         {
  28.             //envia la pregunta y la forma de respuesta a la base de datos
  29.         }
  30.         //fin parte administrador
  31.  
  32.  
  33.         //parte usuarios
  34.         private void obtienepreguntas()
  35.         {
  36.             //esta parte debería obtener las preguntas desde la base de datos
  37.             //la llena en la lblPreguinta
  38.  
  39.             //si es que la pregunta se definio como "yesNo"
  40.             Panel4.Visible = false;
  41.             Panel3.Visible = true;
  42.             //si la pregunta se definio como "respuesta de texto
  43.             Panel3.Visible = false;
  44.             Panel4.Visible = true;
  45.         }
  46.  
  47.         protected void Button2_Click(object sender, EventArgs e)
  48.         {
  49.             /*esto envia la respuesta a la base de datos
  50.              * si es que el panel 3 esta visible, envia yes o no segun la opcion elegida
  51.              * si el panel 4 esta visible envia la respuesta ingresada
  52.              */
  53.  
  54.         }
  55.         //fin parte usuarios
  56.     }
  57. }

La parte de usuario tiene dos paneles, uno con dos radio buttons "Yes, No" y el otro panel con un textbox para introducir respuesta.

La idea es que si el administrador define la pregunta como Yes, No, debes hacer un método que retorne la definicion de la pregunta o de la respuesta...
Entonces si ese metodo retorna yesno, el panel con los radio buttons se muestra y oculta el otro. Si ese metodo retorna "respuesta" o algo asi, el panel con los radio buttons se esconde y se muestra el pnael con el textbox para que el usuario ingrese su respuesta.

Despues al responder, si ews que el panel con radiobuttons esta visible, se envia la respuesta Yes, No a la BD... si el panel con el textbox esta visible, se envia la respuesta ingresada en el textbox.

Prueba el código y ve si es lo que necesitas.

Saludos!
__________________
La verdadera sabiduría está en reconocer la propia ignorancia.