martes, 5 de abril de 2011

Como Crear Web Service ASP.NET

Se describe como Crear y Consumir un Web Service

En este apartado explicare como crear y consumir un Web Service.
En este ejemplo creare 2 proyectos de manera separada, en el primero crearemos el web service y en el segundo la aplicación que lo consumirá.
-Creamos un ASP.NET Empty Web Application
-Ahora creamos un nuevo ítem y seleccionamos Web Service, en mi caso lo nombre “WebServicesTest”, nuestro proyecto quedara de la siguiente manera:


Ahora damos doble clic sobre el archivo Test.asmx.cs y modificamos  el web method  HelloWord()
Quedara de la siguiente manera:
       
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }


Ya tenemos listo nuestro web service, ahora lo que tenemos que hacer es publicarlo para que nuestro proyecto lo pueda consumir.
Para hacer la publicación hacemos lo siguiente:
-Crear una carpeta para indicar en donde se guardaran lo archivos publicados, en mi caso dicha carpeta se llama “WS” dentro de la unidad C.
-Ahora en nuestro proyecto “WebServicesTest” damos clic derecho y seleccionamos la opción “publish” e indicamos la carpeta destino, la configuración quedara de la siguiente manera:

-Una vez terminada la publicación en la carpeta destino te habrá creado la carpeta bin, el Web Service y el Web Config, ahora crearemos nuestro directorio virtual en IIS haciendo lo siguiente.
-Dentro de Defaul Web Site damos clic derecho/Agregar Aplicación
-Ponemos un Alias en mi caso puse “WS” Seleccionamos el pool en mi casa es “ASP:NET v4.0 Classic”, seleccionamos el origen de los archivos en mi caso “C:\WS” damos clic en Aceptar.
Ya tenemos nuestro web service publicado para validarlo abrimos nuestro explorador web, poniendo la siguiente dirección: http://localhost/WS/Test.asmx
Nos mostrara la siguiente pantalla:

Si por alguna razón te marco error  verifica los permisos de tu carpeta y la versión del framework
Ahora vamos a consumir dicho web service.
Creamos un nuevo proyecto web en mi caso se llamara GetWS, agregamos un WebForm y hacemos la referencia a nuestro web service, el proyecto quedara de la siguiente manera:


Para agregar la referencia web damos clic derecho en el proyecto GetWS y seleccionamos la opción Add Web Reference, ahora en URL pegamos la dirección de nuestro web Service en mi caso es: http://localhost/WS/Test.asmx y damos enter para que encuentre nuestros web methods, una vez que los encuentre ponemos el nombre de nuestra referencia en mi caso “WsHello” y damos  clic en Add Reference.
-Ahora en nuestro web form agregamos un label y un botón. El html quedara asi:
<form id="form1" runat="server">
    <div>
        <asp:Label ID="lblHello" runat="server" Text="Hola Amigo"></asp:Label>
        <br />
        <br />
        <asp:Button ID="btnGetWs" runat="server" Text="Button" OnClick="btnGetWs_Click" />
    </div>
</form>

 
-Ahora en el code behind de nuestro aspx agregamos el siguiente código en el evento del botón:
protected void btnGetWs_Click(object sender, EventArgs e)
        {
            //Referencia al Web Service
            WsHello.Test WSGet = new WsHello.Test();
            try
            {
                //Asignamos a nuestro label el valor obtenido por el Web Method
                lblHello.Text = WSGet.HelloWorld();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

-Listo ya tenemos nuestro web service funcionando…


Seguir leyendo...

lunes, 21 de febrero de 2011

Grid CSS

Se describe como agregar estilo a un Gridview con CSSe imagenes.

Como dar formato a un gridview con css
Creamos nuestro estilo
.Grid
{
width: 100%;
background-color: #fff;
margin: 5px 0 10px 0;
border: solid 1px #525252;
border-collapse: collapse;
}
.Grid td
{
padding: 2px;
border: solid 1px #c1c1c1;
color: #717171;
}
.Grid th
{
padding: 4px 2px;
color: #fff;
background: #424242 url(Image/grd_head.png) repeat-x top;
border-left: solid 1px #525252;
font-size: 0.9em;
}
.Grid .alt
{
background: #fcfcfc url(Image/grd_alt.png) repeat-x top;
}
.Grid .pgr
{
background: #424242 url(Image/grd_pgr.png) repeat-x top;
}
.Grid .pgr table
{
margin: 5px 0;
}
.Grid .pgr td
{
border-width: 0;
padding: 0 6px;
border-left: solid 1px #666;
font-weight: bold;
color: #fff;
line-height: 12px;
}
.Grid .pgr a
{
color: #666;
text-decoration: none;
}
.Grid .pgr a:hover
{
color: #000;
text-decoration: none;
}


Creamos nuestro grid view asignándole los estilos

<asp:GridView ID="grvUsuario" runat="server" Width="100%" AutoGenerateColumns="False" GridLines="None" AllowPaging="true" CssClass="Grid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt">
 <Columns>
<asp:BoundField DataField="UNO" HeaderText="UNO" />
<asp:BoundField DataField="DOS" HeaderText="DOS" />
 <asp:BoundField DataField="TRES" HeaderText="TRES" />
<asp:BoundField DataField="CUATRO" HeaderText="CUATRO" /> 
 </Columns>
</asp:GridView>

Estas son las imagenes:


   







Seguir leyendo...

jueves, 17 de febrero de 2011

llenar gridview asp.net

Como llenar un control gridview con c#, ADO.net, Stored Procedure

Iniciemos creando un Stored Procedure el cual regresa empleado, nombre, paterno, materno
CREATE PROCEDURE [dbo].[GetEmployee]
@id_emp int
AS
BEGIN
IF @id_emp <> 0
select empleado,paterno,materno,nombre from empleados_tya
where id_empleado=@id_emp
ELSE
select empleado,paterno,materno,nombre from empleados_tya
END

Una vez realizado este Stored procedemos con lo siguiente.
public DataSet CargaGrid(int iId)
{
string sCon = "Data Source=XAVIERF-PC;Initial Catalog=Eslabon_TyA_Lambi;User ID=****; Password=*****";
SqlConnection oCOn = new SqlConnection(sCon);
SqlDataAdapter da = new SqlDataAdapter("GetEmployee", sCon);
da.SelectCommand.CommandTimeout = 0;
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@id_emp", SqlDbType.Int).Value = iId;
DataSet ds = new DataSet();
try
{
da.Fill(ds);
da.Dispose();
return ds;
}
catch (Exception ex)
{
throw ex;
}

}


Ahora Agregas el siguiente código HTML dentro del tag <body>


Este es el evento del botón, al dar clic caerá aquí

protected void btnCarga_Click(object sender, EventArgs e)
{
try
{
//Creamos objeto de negocio
BusCargaGrid oCargaGrid = new BusCargaGrid();
int iIdEmp = Convert.ToInt32(txtEmp.Text==string.Empty ? "0" : txtEmp.Text);
DataSet ds = oCargaGrid.CargaGrid(iIdEmp);
grvEmpleados.DataSource = ds;
grvEmpleados.DataBind();
}
catch (Exception ex)
{
string sScript = @" ";
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Error Grid", sScript);
}
}


Seguir leyendo...