[ASP .NET] Creando una WebSlice con datos de una BD y un Repeater SQL 2008


Saludos amigos, una novedad de ASP .Net en conjunto con Internet Explorer 8, es que nos permite crear Web Slice, que son pequeños extractos con información de páginas Web, las cuales podemos agregar a nuestra Barra de favoritos de Internet Explorer 8. A continuación les dejo un ejemplo de la creación de una Web Slice, la cual se llena con información de una base de datos en SQL Server 2008 a través de un objeto Repeater.

Nota: Debe configurar la cadena de conexión a la base de datos, vea la entrada anterior: https://sqlpsykrest.wordpress.com/2009/05/14/vs-2008asp-net-crear-una-cadena-de-conexin-en-asp-net-y-ejecutar-un-comando-a-una-bd-de-sql-server-2008/

Paso 1, debemos agregar la Web Slice, esto consiste en insertar un DIV que tenga una clase CSS llamada hslice y ID igual a 1.

Ejemplo:

<div class="hslice" id="1">
            <p class="entry-title">Título de la Web Slice</p>
            <div class="entry-content">
                  <!--Contenido de la Web Slice-->
            </div>
        </div>

Para indicar el título de la Web Slice, se debe colocar una clase CSS aplicada a un elemento XHTML Párrafo <p> llamada “entry-title”, el contenido de la Web Slice se determina agregando un elemento DIV con una clase CSS llamada “entry-content” dentro del DIV principal hslice.

Paso 2, Agregaremos como contenido de la Web Slice un objeto REPEATER, el cual selecciona datos sobre Productos de una base de datos en SQL Server 2008.

Ejemplo:

<h2>Ejemplo de WebSlice</h2>
        <div class="hslice" id="1">
            <p class="entry-title">WebSlice desde SqlPsyKrest Blog.</p>
            <div class="entry-content">
                  <asp:Repeater runat="server" ID="rProductos">
                        <HeaderTemplate>
                            <table class="tabla" cellpadding="3px" cellspacing="0" >
                                <tr>
                                    <td colspan="4" class="titulo" align="center" >Productos</td>
                                </tr>        
                        </HeaderTemplate>
                        <FooterTemplate>
                            </table>
                        </FooterTemplate>
                        <ItemTemplate>
                            <tr>
                                <td class="nombre"><%#DataBinder.Eval(Container.DataItem, "nombre")%></td>
                                <td class="precio"><%#DataBinder.Eval(Container.DataItem, "precio")%></td> 
                            
                        </ItemTemplate>
                        <AlternatingItemTemplate>
                                <td class="nombre"><%#DataBinder.Eval(Container.DataItem, "nombre")%></td>
                                <td class="precio"><%#DataBinder.Eval(Container.DataItem, "precio")%></td> 
                            </tr>                    
                        </AlternatingItemTemplate>
                </asp:Repeater>      
            </div>
        </div>

El DataBinder.Eval obtiene los datos de las columnas del comando que se ejecuta en la base da datos.

Paso3, Agreguemos en el code-behine en el evento Load del formulario Web la ejecución del comando de la base datos, el cual obtendrá la información de los productos que se cargaran en un objeto Repeater llamado repeatProductos que posteriormente se mostrarán en la Web Slice.

Ejemplo:

Imports System.Web
Imports System.Web.Configuration
Imports System.Data
Imports System.Data.SqlClient

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not Me.IsPostBack Then

            Dim conn As New SqlConnection(WebConfigurationManager.ConnectionStrings("cnx").ConnectionString)
            Dim comm As New SqlCommand("SELECT nombre, precio FROM DEMO_PRODUCTO", conn)
            comm.CommandType = CommandType.Text

            Dim ds As DataSet = Nothing
            Dim da As SqlDataAdapter = Nothing

            Try
                Using conn
                    conn.Open()
                    ds = New DataSet()
                    da = New SqlDataAdapter()
                    da.SelectCommand = comm
                    da.Fill(ds)
                End Using

                comm.Dispose()

            Catch ex As Exception

            Finally
                If conn.State = ConnectionState.Open Then
                    conn.Close()
                    conn.Dispose()
                End If
            End Try


            Me.repeatProductos.DataSource = ds
            Me.repeatProductos.DataBind()

        End If

    End Sub
End Class

En el ejemplo anterior utilizamos un objeto Dataset y un SqlDataAdapter, los cuales reciben la información de la base da datos y la almacenan para cargarla en el objeto Repeater llamado repeatProductos,  una vez obtenida la información, la Web Slice esta terminada y lista para mostrando datos de los productos al usuario.

image

Paso 4, Agreguemos la Web Slice al Barra de favoritos de Internet Explorer 8:

image

image

Por último observen como se agrego la Web Slice a la Barra de favoritos de Internet Explorer 8,  de esta manera los usuario pueden estar viendo información especifica y actualizada de sus sitios Web con solo dar clic en ella.

image

Espero les sea de ayuda, me despido de ustedes y quedo en espera de sus comentarios.

Etiquetas de Technorati: ,,
  1. 19/06/09

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: