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