Pop

Curso básico programación C# - 67. Creando nuestro propio buscador (5) - Visual Studio 2017

67. Nuestro propio buscador  de peliculas (5)

 -  En este capítulo del curso de programación en c# con visual studio 2017 ,  continuaremos con nuestro nuevo proyecto consistente en crear nuestro propio buscador. Ya estamos utilizando la API que nos proporciona https://www.themoviedb.org , para realizar consultas  y obtener la información solicitada. Ahora nos disponemos a estructurar y mostrar por pantalla los datos recibidos despues de hacer las peticiones a nuestra API.

- En el video muestro como ver los resultados de las diferentes busquedas que vamos haciendo en nuestro ejemplo:


- Una vez vista la manera en que podemos estructurar y mostrar la información por pantalla de una forma más decente, os dejo el código de la página del buscador.

  • Página Default.aspx: 
 <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="BuscadorWebPeliculas._Default" %>

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <div class="row">
      
            <div style="text-align: center; margin-top:5%">
        
            <asp:Label runat="server" Text="<b>Mis pelis:</b>" Font-Size="Medium"></asp:Label>
            <asp:TextBox ID="txtBuscador" runat="server" Width="30%" placeholder="Busca tus peliculas favoritas:"></asp:TextBox>
            <asp:ImageButton runat="server" ImageUrl="images/magnifier-24270_640.png"  width="21px" height="20px" OnClick="Unnamed2_Click"/>
           <asp:Label runat="server" Text="" ID="lblResultado"></asp:Label>
                <div runat="server"  style="text-align: left" >
                      <table id="tableRes" runat="server" style="width: 100%;" enableviewstate="false">
                   
                    </table>
              
                </div>
                  

               
            </div>
        
    </div>

</asp:Content>

  • Página Default.aspx.cs:
 using BuscadorWebPeliculas.Clases;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace BuscadorWebPeliculas
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Unnamed2_Click(object sender, ImageClickEventArgs e)
        {
              if (txtBuscador.Text != String.Empty)
            {
                tableRes.Controls.Clear();
            Util u = new Util();
            String resultado = String.Empty;

            String rutaPeticion = ConfigurationManager.AppSettings["search"].ToString();
            JsonSerializerSettings ConfigJson = new JsonSerializerSettings();
            ConfigJson.NullValueHandling = NullValueHandling.Ignore;
            rutaPeticion += "?api_key=" + ConfigurationManager.AppSettings["claveApi"].ToString() + "&language=es-ES";
            rutaPeticion += "&query=" + txtBuscador.Text;

        
            resultado = u.peticionAPI(rutaPeticion, "GET", null);


            RespuestaSearch rest = JsonConvert.DeserializeObject<RespuestaSearch>(resultado);

            for (int i = 0; i < rest.results.Count; i++)
            {

                Image img = new Image();
                img.Width = 100;
                img.Height = 130;
                if(rest.results[i].poster_path!=String.Empty)
                     img.ImageUrl = "https://image.tmdb.org/t/p/w500/" + rest.results[i].poster_path;
                Label l = new Label();
                l.Text = "<b>" + rest.results[i].release_date + " " + rest.results[i].title + "</b>: " + rest.results[i].overview + "<br>";

                System.Web.UI.HtmlControls.HtmlTableRow tRow = new System.Web.UI.HtmlControls.HtmlTableRow();
              

                System.Web.UI.HtmlControls.HtmlTableCell tCell = new System.Web.UI.HtmlControls.HtmlTableCell();
                System.Web.UI.HtmlControls.HtmlTableCell tCell2 = new System.Web.UI.HtmlControls.HtmlTableCell();
                tCell.Controls.Add(img);
                tCell2.Controls.Add(l);
                tRow.Cells.Add(tCell);
                tRow.Cells.Add(tCell2);
                    tCell2.Align = "TOP";
                tableRes.Rows.Add(tRow);
                
                }
        }
        }
    }
}

- El código de las otras clases utilizadas la tenemos en entradas anteriores.Si queréis seguir este ejemplo al completo debéis obtener vuestra propia clave de API, que podéis obtener en https://www.themoviedb.org.

No hay comentarios:

Publicar un comentario

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...