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>
forma Respuesta:
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<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>
<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;">
<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 originalusing System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace Presentacion.Paginas
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
obtienepreguntas();
}
public void preguntas()
{
}
//parte Administrador
protected void Button1_Click(object sender, EventArgs e)
{
//envia la pregunta y la forma de respuesta a la base de datos
}
//fin parte administrador
//parte usuarios
private void obtienepreguntas()
{
//esta parte debería obtener las preguntas desde la base de datos
//la llena en la lblPreguinta
//si es que la pregunta se definio como "yesNo"
Panel4.Visible = false;
Panel3.Visible = true;
//si la pregunta se definio como "respuesta de texto
Panel3.Visible = false;
Panel4.Visible = true;
}
protected void Button2_Click(object sender, EventArgs e)
{
/*esto envia la respuesta a la base de datos
* si es que el panel 3 esta visible, envia yes o no segun la opcion elegida
* si el panel 4 esta visible envia la respuesta ingresada
*/
}
//fin parte usuarios
}
}
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!