Pop

26.Aplicaciones web.Formulario de alta.Curso de C# con Visual Studio 2017.

26- . Aplicaciones web.Creando un formulario de registro

   - En este capítulo del curso de programación en c# con visual studio 2017,vamos a practicar el uso de algunos de los controles web vistos en las entradas anteriores del blog. Para ello nos crearemos una página web donde simularemos el alta en un servicio.En este formulario de registro practicamos el uso de estos controles:

  • Dropdownlist: Cargamos el combo con algunos paises.
  • Validadores: Utilizamos los validadores vistos en el capítulo anterior (RequiredFieldValidator, RegularExpressionValidator y CompareValidator) para controlar que el usuario introduzca todos los datos necesarios para darse de alta.
  • CheckBox: Forzamos que el usuario sólo pueda continuar en el caso que que este control este seleccionado.
  • TextBox:Campos que el usuario debe rellenar.
  • HyperLink: Link que redirige a una página de condiciones de servicio que nos hemos inventado.


- En el siguente cápitulo del cuso empezaremos con un poco de SQL.Asi que dejo el enlace donde podréis descargaros la versión express de forma gratuita:

https://www.microsoft.com/es-es/sql-server/sql-server-editions-express

- También os dejo el código del ejemplo:

* Parte cliente: 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AltaUsuario.aspx.cs" Inherits="GestionVarios.AltaUsuario" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <table width="700px" border="0" cellpadding="0" cellspacing="0" align="center">
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="left">
                    <h1>Datos de acceso</h1>
                <br />
                </td>
            </tr>

            <tr>
                 <td width="250px" height="22px" align="left" style="vertical-align: top">Nombre usuario:</td>
                 <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="txtnombre" runat="server" Width="300px"  ForeColor="Black" ></asp:TextBox>
                    <asp:RequiredFieldValidator ID="reqNombre" runat="server" ControlToValidate="txtnombre" ErrorMessage="*" Display="Dynamic" ForeColor="Red"  ></asp:RequiredFieldValidator><br />
                 </td>

            </tr>
                 <tr>
                 <td width="250px" height="22px" align="left" style="vertical-align: top">Pais:</td>
                 <td width="450px" align="left" style="vertical-align: top">
                    <asp:DropDownList runat="server" id="cmbPaises" AppendDataBoundItems="True" Width="311px" DataSourceID="SqlDataSource1" DataTextField="Pais" DataValueField="CodPais">
                        <asp:ListItem Text="Seleccione un pais" Value="-1">-SELECCIONAR-</asp:ListItem>
                            <asp:ListItem Text="España" Value="1"></asp:ListItem>
                            <asp:ListItem Text="Portugal" Value="2"></asp:ListItem>
                            <asp:ListItem Text="Francia" Value="3"></asp:ListItem>
                            <asp:ListItem Text="Italia" Value="4"></asp:ListItem>
                 </asp:DropDownList>
                <asp:RequiredFieldValidator id="reqPais"  ControlToValidate="cmbPaises" ErrorMessage="* Seleccione pais"   Display="Dynamic" InitialValue="-1" runat="server" ForeColor="Red" />
                 </td>

            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Dirección de E-Mail:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtEMail" runat="server" Width="300px"  ForeColor="Black" ></asp:TextBox>
                    <asp:RequiredFieldValidator ID="mreqEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="*" Display="Dynamic" ForeColor="Red"  ></asp:RequiredFieldValidator><br />
                    <asp:RegularExpressionValidator ID="mregEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="La Dirección de E-Mail especificada no es válida.<br>" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"  ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword" runat="server" Width="150px" MaxLength="20" TextMode="Password"></asp:TextBox>
                    <br />
                    <asp:RequiredFieldValidator ID="mreqPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="Debe especificar una contraseña de al menos 6 caracteres.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="mregPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="La contraseña no es correcta (min. 6 cars)." ValidationExpression="\w+.{5,}" Display="Dynamic" ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Confirmar Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword2" runat="server" Width="150px" MaxLength="20" TextMode="Password"  ></asp:TextBox>
                   <br />
                    <asp:RequiredFieldValidator ID="mreqPassword2" runat="server" ControlToValidate="mtxtPassword2" ErrorMessage="Debe confirmar la contraseña.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:CompareValidator ID="mcomPasswords" runat="server" ErrorMessage="Las contraseñas no son iguales." Display="Dynamic" ControlToCompare="mtxtPassword" ControlToValidate="mtxtPassword2" ForeColor="Red"></asp:CompareValidator>
                </td>
            </tr>
               <tr>
                   <td>&nbsp;</td>
                <td width="250px" height="22px" align="left" style="vertical-align: top">
                    <asp:CheckBox ID="chkCondiciones" runat="server"/><asp:HyperLink ID="linkCondiciones" runat="server" Text="Condiciones servicio" NavigateUrl="~/CondicionesServicio.aspx"></asp:HyperLink><br />
                </td>
                </tr>     
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="center" colspan="2">
                    <asp:Button ID="mbtnRegistrar" runat="server" Text="ALTA" OnClick="mbtnRegistrar_Click" />
                       <asp:Label runat="server" ID="lblError" Visible="false" ForeColor="Red"></asp:Label>
                </td>
            </tr>
          
        </table>
    </form>
</body>
</html>

 *Parte servidor:


 using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace GestionVarios
{
    public partial class AltaUsuario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void mbtnRegistrar_Click(object sender, EventArgs e)
        {
            lblError.Visible = true;
            if (chkCondiciones.Checked == false)
            {
             
                lblError.Text = "Debes aceptar los términos y condiciones del servicio.";
            }
            else
            {
                 lblError.Text = "Usuario dado de alta correctamente";
                lblError.ForeColor = Color.Green;

            }
          


        }
}
}


25.Aplicaciones web.Validadores.Curso de C# con Visual Studio 2017.

  25- . Aplicaciones web.Validadores

   - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver algunos de los controles de validación que trae este entorno de programación.Nos centraremos en tres de ellos:
RequiredFieldValidator , RegularExpressionValidatorCompareValidator:

  • RequiredFieldValidator: Con este control obligamos al usuario a que rellene todos los campos de entrada necesarios en un formulario.
  • RegularExpressionValidator: Comprueba que los datos proporcionados por el usuario coinciden con un modelo definido por una expresión regular.
  • CompareValidator : Compara los datos de los dos controles que se le especifiquen.

- El más complejo de los tres controles quizás sea el  RegularExpressionValidator porque es necesario conocer el funcionamiento de las expresiones regulares.Para los que no sepáis lo que son aqui os dejo un enlace. En el video os explico como usar este control y los otros dos.



- Para comprender mejor las expresiones regulares vamos a intentar analizar una:

   string expresion= "href\\s*=\\s*(?:[\"'](?<1>[^\"']*)[\"']|(?<1>\\S+))";


  1. href: Busca coincidencias con la cadena literal "href". La búsqueda no distingue entre mayúsculas y minúsculas.
  2. \s*: Busca coincidencias con cero o más caracteres de espacio en blanco.
  3. =:  Busca coincidencias con el signo de igualdad.
  4. \s*: Busca coincidencias con cero o más caracteres de espacio en blanco.
  5.  (?:["'](?<1>[^"']*)"|(?<1>\S+)): Busca coincidencias con uno de los siguientes elementos sin asignar el resultado a un grupo capturado: 
    • Una comilla o apóstrofo, seguido de cero o más apariciones de cualquier carácter que no sea una comilla o un apóstrofo, seguido por una comilla o un apóstrofo.Este modelo incluye el grupo denominado 1.
    • Uno o más caracteres que no sean un espacio en blanco.Este modelo incluye el grupo denominado 1.

      6. (?<1>[^"']*): Asigna cero o más apariciones de cualquier carácter distinto de una comilla o un apóstrofo al grupo de captura denominado 1.
     7."(?<1>\S+): Asigna uno o más caracteres que no sean un espacio en blanco al grupo de captura denominado 1.


- Os dejo también unos enlaces para completar información sobre los tres controles vistos en el video:


- También os dejo el código fuente tanto de la parte de cliente vista en el video:

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AltaUsuario.aspx.cs" Inherits="GestionVarios.AltaUsuario" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">

        <table width="700px" border="0" cellpadding="0" cellspacing="0" align="center">
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="left">
                    <h1>Datos de acceso</h1>
               
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Dirección de E-Mail:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtEMail" runat="server" Width="300px"  ForeColor="Black" ></asp:TextBox>
                    <asp:RequiredFieldValidator ID="mreqEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="*" Display="Dynamic" ForeColor="Red"  ></asp:RequiredFieldValidator><br />
                    <asp:RegularExpressionValidator ID="mregEMail" runat="server" ControlToValidate="mtxtEMail" ErrorMessage="La Dirección de E-Mail especificada no es válida.<br>" ValidationExpression="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" Display="Dynamic"  ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword" runat="server" Width="150px" MaxLength="20" TextMode="Password"></asp:TextBox>
                    <br />
                    <asp:RequiredFieldValidator ID="mreqPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="Debe especificar una contraseña de al menos 6 caracteres.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="mregPassword" runat="server" ControlToValidate="mtxtPassword" ErrorMessage="La contraseña no es correcta (min. 6 cars)." ValidationExpression="\w+.{5,}" Display="Dynamic" ForeColor="Red"></asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td width="250px" height="22px" align="left" style="vertical-align: top">Confirmar Contraseña:
                </td>
                <td width="450px" align="left" style="vertical-align: top">
                    <asp:TextBox ID="mtxtPassword2" runat="server" Width="150px" MaxLength="20" TextMode="Password"  ></asp:TextBox>
                   <br />
                    <asp:RequiredFieldValidator ID="mreqPassword2" runat="server" ControlToValidate="mtxtPassword2" ErrorMessage="Debe confirmar la contraseña.<br>" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator>
                    <asp:CompareValidator ID="mcomPasswords" runat="server" ErrorMessage="Las contraseñas no son iguales." Display="Dynamic" ControlToCompare="mtxtPassword" ControlToValidate="mtxtPassword2" ForeColor="Red"></asp:CompareValidator>
                </td>
            </tr>
            <tr>
                <td width="700px" style="height: 40px; vertical-align: middle;" colspan="2" align="center">
                    <asp:Button ID="mbtnRegistrar" runat="server" Text="ALTA" OnClick="mbtnRegistrar_Click" />

                </td>
            </tr>
            </tr>
        </table>
    </form>
</body>
</html>
 

   

24.Aplicaciones web.ImageButton,Image.Curso de C# con Visual Studio 2017.

  24- . Aplicaciones web. ImageButton,Image

   - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver dos controles de uso común en muchas de las páginas web que utilizamos habitualmente. Estos controles son el ImageButton y el el elemento Image.Vamos con algunos datos sobre ellos:
  •  El control Image nos permite mostra imagenes en el navegador y cambiar algunas de sus propiedades en tiempo de ejecucción modificando sus propiedades en el fichero.cs asociado al fichero aspx correspondiente.Por ejemplo puedes especificar mediante programación el archivo de gráficos asociado para un control Image en tiempo de diseño o en tiempo de ejecución. También puede enlazar la propiedad ImageUrl del control a un origen de datos.
  •  El control ImageButton nos permite una funcionalidad similar a la del control Button pero con la posibilidad de añadir una imagen.El control muestra una imagen y responde a los clics del mouse en la imagen.

- En el video os muestro algunas de las propiedades de estos dos controles y como es posible modificarlas en tiempo de diseño y en tiempo de ejeccución.


-  Como acostumbro os dejo un par de enlaces a la MSDN donde tenéis algio más de información sobre estos dos controles:


- También os dejo el código mostrado en el ejemplo:
  • Código de la parte cliente:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EjemploImagen.aspx.cs" Inherits="HolaMundo.EjemploImagen" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Image ID="Image1" runat="server"  ImageUrl="~/menu.png"/><br /><br />
            <asp:ImageButton ID="ImageButton1" runat="server" OnClick="ImageButton1_Click" />
        </div>
    </form>
</body>
</html>

  • Código de la parte de servidor:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HolaMundo
{
    public partial class EjemploImagen : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ImageButton1.ImageUrl = "~/binary-code-475664_1920.jpg";
            ImageButton1.Width = 100;
            ImageButton1.Height = 50;

        }

        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            Image1.Width = 100;
            Image1.Height = 100;
            Image1.AlternateText = "BRI BLI BLI BLI";
           

        }
    }




23.Aplicaciones web.Hiperlink y LinkButton.Curso de C# con Visual Studio 2017.

  23- . Aplicaciones web. Hyperlink y LinkButton

    - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver dos controles de uso común en muchas de las páginas web que utilizamos habitualmente. Estos controles son los Hyperlink y los LinkButton.Se utilizan para poder navegar entre páginas.Los típicos enlaces que redireccionan a otras web o a otras páginas que estan alojadas en la misma web.Vamos con algunas datos de estos dos controles:


  • El LinkButton se representa como un hipervínculo en la página peorcontiene un script del lado cliente que hace que el formulario se devuelva al servidor. 
  • El click del  LinkButton  se desncadena cuando se hace clic en el control.
  •  La principal ventaja de utilizar un control HyperLink es que permite establecer las propiedades de los vínculos en el código del servidor. Por ejemplo, puede cambiar dinámicamente el texto del vínculo o la página de destino basándose en las condiciones de la página.

- En el video os muestro  como utilizar estos dos controles para crear enlaces que permitan navegar entre páginas del mismo proyecto o como ir  a páginas que se encuentran fuera del proyecto.Os explico como cambiar algunas de las propiedades de estos controles tanto en la parte de diseño como en tiempo de ejecución.



- Estos dos controles tienen bastantes más propiedades que las mostradas en el video.Os dejo enlaces a la MSDN de microsofot donde podéis completar información sobre estos dos controles:


 Tambíén os dejo el cófdigo tanto de la parte cliente como de la parte de servidor:

  • Código de la página aspx:
 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFormHolaMundo.aspx.cs" Inherits="HolaMundo.WebFormHolaMundo" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <table style="width: 100%;">
                <tr>
                    <td >
                        <asp:RadioButton ID="rdunradio" runat="server" Text="Único" />
                        <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="true">
                            <asp:ListItem Value="1">Elemento1</asp:ListItem>
                            <asp:ListItem Value="2">Elemento2</asp:ListItem>
                            <asp:ListItem Value="3">Elemento3</asp:ListItem>
                        </asp:RadioButtonList>

                    </td>
                    <td>
                        <asp:HyperLink ID="linkUno" runat="server" NavigateUrl="~/WebForm2.aspx">HyperLink</asp:HyperLink>
                    </td>
                </tr>
                <tr>

                    <td>
                        <asp:CheckBoxList ID="CheckBoxList1" runat="server"></asp:CheckBoxList>

                        <asp:CheckBox ID="CheckBox1" runat="server" />

                    <td>

                        <asp:LinkButton ID="linkDos" runat="server" BackColor="Yellow" Enabled="false" OnClick="linkDos_Click">LinkButton</asp:LinkButton>

                    </td>
               
                </tr>


                <tr>
                    <td colspan="2">
                        <asp:Button ID="btnMiBoton" runat="server" Text="Button" OnClick="btnMiBoton_Click" />


                    </td>
                </tr>
            </table>
        </div>
    </form>
</body>
</html>

  • Codigo de la parte del .cs:
 using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HolaMundo
{
    public partial class WebFormHolaMundo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            linkUno.Text = "Vamos al google";
            linkUno.NavigateUrl = "https://www.google.es";

            linkDos.Enabled = true;
            linkDos.BackColor = Color.Red;
            linkDos.Text = "HOLA";
        }

        protected void btnMiBoton_Click(object sender, EventArgs e)
        {
            CheckBox1.Text = "No cliques";

            for(int i=0; i<6; i++)
            {
                ListItem x = new ListItem(i.ToString(), i.ToString());
                CheckBoxList1.Items.Add(x);
            }
            rdunradio.Visible = false;
            RadioButtonList1.Visible = false;
        }

        protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
           if( RadioButtonList1.SelectedItem.Value=="1")
            rdunradio.Enabled = false;
           else
                rdunradio.Enabled = true;
        }

        protected void linkDos_Click(object sender, EventArgs e)
        {
            linkUno.NavigateUrl = "http://cursoprogramacioncsharptutoriales.blogspot.com.es/";
            linkUno.Text = "Mi blog"; ;
        }
    }
}





22.Aplicaciones web.RadioButton y CheckBox.Curso de C# con Visual Studio 2017.

  22- . Aplicaciones web. RadioButtonList, CheckBoxList, RadioButton y CheckBox

    - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver cuatro controles de uso común en muchas de las páginas web que utilizamos habitualmente. Estos controles son los RadioButtonList, CheckBoxList, RadioButton y CheckBox:

  •  Los controles RadioButton presentan al usuario una opción que puede ser seleccionada o  no.
  •  Los controles CheckBox presentan al usuario una opción que puede ser seleccionada o  no.
  •  Los controles RadioButtonList presentan al usuario un conjunto de dos o más opciones excluyentes entre sí. Aunque puede parecer que los botones de radio y los CheckBoxList funcionan de forma parecida, existe una diferencia importante: cuando un usuario selecciona un botón de radio, no puede seleccionar ninguno de los otros botones de radio del mismo grupo sin perder la selección de este botón.
  •  Los CheckBoxList como he comentado anteriormente permiten seleccionar varios opciones a diferencia de los RadioButtonList.

  - En el vídeo os muestro unos ejemplos sobre como usar estos controles.En el caso del RadioButtonList cargo los datos en la parte de de diseño y en el CheckBoxList los cargo en tiempo de de ejecución. También muestro algunas de las múltiples propeidades y eventos que tienen estos controles:



- Como siempre suelo hacer es dejo unos enlaces a la MSDN de Microsofot donde tenéis más detalles de estos controles: 


-  Además os dejo el código de los archivos cliente y servidor: 


  • Pagina cliente.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebFormHolaMundo.aspx.cs" Inherits="HolaMundo.WebFormHolaMundo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
       
         <table style="width: 100%;">
            <tr>
               <td>
             <asp:RadioButton ID="rdunradio" runat="server" Text="Único" />
            <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged" AutoPostBack="true">
               <asp:ListItem Value="1">Elemento1</asp:ListItem>
              <asp:ListItem Value="2">Elemento2</asp:ListItem>
              <asp:ListItem Value="3">Elemento3</asp:ListItem>
                   </asp:RadioButtonList>
                           </td>
           </tr>
             <asp:CheckBox ID="CheckBox1" runat="server" />
             <asp:CheckBoxList ID="CheckBoxList1" runat="server"></asp:CheckBoxList>
     
            <tr>
                <td>  <asp:Button ID="btnMiBoton" runat="server" Text="Button" OnClick="btnMiBoton_Click" />
                 
                 
                </td>
            </tr>
        </table>
     </div>
     </form>
</body>
</html>


  • Código servidor:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace HolaMundo
{
    public partial class WebFormHolaMundo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        
        }

        protected void btnMiBoton_Click(object sender, EventArgs e)
        {
            CheckBox1.Text = "No cliques";

            for(int i=0; i<6; i++)
            {
                ListItem x = new ListItem(i.ToString(), i.ToString());
                CheckBoxList1.Items.Add(x);
            }
            rdunradio.Visible = false;
            RadioButtonList1.Visible = false;
        }

        protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
           if( RadioButtonList1.SelectedItem.Value=="1")
            rdunradio.Enabled = false;
           else
                rdunradio.Enabled = true;
        }
    }
}

21.Aplicaciones web.DropDownlist y ListBox.Curso de C# con Visual Studio 2017.

  21- . Aplicaciones web. DropDownlist y ListBox.

    - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver dos controles de uso común en muchas de las páginas web que utilizamos habitualmente.Hablo de los controles DropDownList y el control ListBox:

  1.  El control  DropDownList de servidor Web permite a los usuarios seleccionar un elemento de una lista predefinida. Se diferencia del control ListBox de servidor Web en que la lista de elementos permanece oculta hasta que los usuarios hacen clic en el botón desplegable.El control DropDownList  no admite el modo de selección múltiple. En realidad, el control DropDownList  es un contenedor para los elementos de lista de tipo ListItem. Cada objeto  ListItem constituye un objeto independiente con sus propiedades específicas.

20.Aplicaciones web.TextBox y Button..Curso de C# con Visual Studio 2017.

  20- . Aplicaciones web. TextBox y Button.

   - En este capítulo del curso de programación en c# con visual studio 2017,vamos a ver dos controles de uso común en muchas de las páginas web que utilizamos habitualmente.Me refiero a el control TextBox y el control Button.

   - Pero antes de ver el vídeo donde muestro el funcionamiento básico de estos dos controles, quiero que sepamos lo que es el ciclo de vida de una página. Cuando se ejecuta una página ASP.NET, ésta recorre un ciclo de vida en el que realiza una serie de pasos de procesamiento. Entre ellos se incluyen la inicialización, la creación de controles, la restauración y el mantenimiento del estado, la ejecución del código del controlador de eventos y la presentación. Es importante conocer el ciclo de vida de la página para escribir código en la fase del ciclo de vida apropiada y conseguir que la página se comporte como nosotros queramos.

   - Si queréis ver una información más detalladas os dejo el enlace a la MSDN de Microsoft: https://msdn.microsoft.com/es-es/library/ms178472(v=vs.100).aspx


- En el video dejo unas nociones básicas para el uso de TextBox y de un botón(Button). Estos dos controles tienen muchas más propiedades. Cuando veamos ejemplos más complejos profundizaremos más en el uso de estos controles, pero estas pinceladas que os dejo el vide nos sirven para saber como se pueden usar.

- Tenéis información más detallada de estos dos controles en estos enlaces:
  1. TextBox: https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.textbox(v=vs.110).aspx
  2.  Button:https://msdn.microsoft.com/es-es/library/system.web.ui.webcontrols.button_properties(v=vs.110).aspx

Curso .NET Core en C# - 34.Creamos nuestro propio log

34.Creamos nuestro propio log Hola a todos. En este curso, analizaremos todos los conceptos básicos, intermedios y avanzados de  ASP.NET...