none
Ayuda con asp

    問題

  • Hola, he estado haciendo la pagina de MSDN video, o mas bien estoy siguiendo los pasos que dicen en el video, un problema, que yo pense que no lo era, es que lo hacen con visual basic.net del cual no se mucho que digamos y yo lo estoy haciendo en c#; hasta donde voy no me habia encontrado con codigo que escribir pero ahora ya y pues yo pense que podia hacerlo en c# pero he estado batallando con eso, el codigo es el siguiente:

    VB.NET

        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim txtBusqueda As String = ""

            If Me.PreviousPage IsNot Nothing Then
                txtBusqueda = DirectCast(Me.PreviousPage.Master.FindControl("tbBusqueda"), TextBox).Text
            Else
                txtBusqueda = DirectCast(Me.Master.FindControl("tbBusqueda"), TextBox).Text
            End If

            ObjectDataSource1.SelectParameters.Clear()       
            If String.IsNullOrEmpty(txtBusqueda) Then
                ObjectDataSource1.SelectMethod = "GetData"
                lInfoBusqueda.Text = "Resultado de la búsqueda de películas sin filtro"
            Else
                ObjectDataSource1.SelectMethod = "GetDataByFiltroTitulo"
                ObjectDataSource1.SelectParameters.Add("FiltroTitulo", txtBusqueda)
                lInfoBusqueda.Text = "Resultado de la búsqueda de películas con filtro """ + txtBusqueda + """"
            End If
        End Sub

    C#

        protected void Page_Load(object sender, EventArgs e)
        {
            string txtBusqueda = "";

            if (this.PreviousPage != null)
                txtBusqueda = ((TextBox)(this.PreviousPage.Master.FindControl("tbBusqueda"))).Text;
            else
                txtBusqueda = ((TextBox)(this.Master.FindControl("tbBusqueda"))).Text;

            ObjectDataSource1.SelectParameters.Clear();       
            if (String.IsNullOrEmpty(txtBusqueda))
            {
                ObjectDataSource1.SelectMethod = "GetData";
                lInfoBusqueda.Text = "Resultado de la búsqueda de películas sin filtro.";           
            }
            else
            {
                ObjectDataSource1.SelectMethod = "GetDataByFiltroTitulo";
                ObjectDataSource1.SelectParameters.Add("FiltroTitulo", txtBusqueda);
                lInfoBusqueda.Text = "Resultado de la búsqueda de películas con filtro " + txtBusqueda;
            }
        }

    Se supone que en el textbox tbBusqueda se pone la pelicula que se busca, y hay un dataset que tiene el metodo GetDataByFiltroTitulo el cual devuelve las coincidencias con txtBusqueda.

    Al estar haciendo el dataset en el generador de consultas al momento de probar la consulta si funciona y segun unas pruebillas que he hecho la consulta si funciona y me he dado cuanta de que el error esta en el codigo el cual segun yo estaba bien pero ya veo que no; segun yo asi se debe escribir en c# pero pss ya no se.

    Ojala y alguien me pueda ayudar y espero haberme explicado bien, por su atencion gracias.

     

    2007年1月11日 上午 12:04

所有回覆

  • Hola Uriel, yo tambien estoy siguiendo el curso y el problema se me presenta cuando hago la búsqueda desde el Default.aspx, no me la realiza, pero si la hago desde otra página si la hace bien, que puede estar pasando con el postback del boton buscar?

    Saludos
    2008年11月2日 上午 04:21
  • Hola,

     

    por lo que veo estas intentado hacer la busqueda nada mas cargar la página, yo creo que deberias comprobar que ha sido enviada antes de hacer la busqueda con IsPostBack.

     

    Espero te sirva de ayuda.

     

    Un saludo, Pedro.

     

    2008年11月14日 上午 10:57
  • Si alguien sigue con este mismo problema, solo debe colocar GridView1.DataBind(); para actualizar la grilla de datos.


    Saludos

    • 已提議為解答 kikemsdn 2009年11月11日 下午 01:18
    2009年10月22日 下午 09:21
  • hola
    Una consulta en que parte debo poner GridView1.DataBind();  porque de funcionar el codigo de arriba pero solo que no hace la busqueda cuando ingresas caracteres utilizando los metodos del dataset pelicula siempre me da como resultado toda la lista de peliculas esto es C#
    2009年11月11日 下午 01:22
  • Chicos, yo también estoy con el mismo problema. Creo que si alguién da con la solución debería compartirla. Somos muchos los que seguimos el curso y a ver si entre todos damos con la solución.

    Bien, yo pienso que despues de hacer click sobre el botón buscar(en la master page), se llama al evento page_load de la pagina default.aspx.vb
    Esto se jecuta pero posteriormente pasa a ejecutarse el código de la página default.aspx.

    Yo creo que aquí esta el problema, pero claro, jeje ¿alguien se le ocurre la solución?

    Bueno a ver si me decís que pensais, y ánimo entre todos lo conseguiremos
    2009年11月25日 下午 06:54
  • Muchacho:

    Yo hice el mismo ejemplo de MSDN Video y me ha funcionado colocando GridView1.DataBind(); para actualizar la grilla de datos. El código queda así:

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string txtBusqueda = "";

            if (this.PreviousPage != null)
            {
                txtBusqueda = ((TextBox)PreviousPage.Master.FindControl("tbBusqueda")).Text;
            }
            else
            {
                txtBusqueda = ((TextBox)Master.FindControl("tbBusqueda")).Text;
            }

            ObjectDataSource1.SelectParameters.Clear();
           
            if(string.IsNullOrEmpty(txtBusqueda))
            {
                ObjectDataSource1.SelectMethod = "GetData";
                GridView1.DataBind();
                LInfoBusqueda.Text = "Resultado de búsqueda de peliculas sin filtro";
            }
            else
            {
                ObjectDataSource1.SelectMethod = "GetDataByFiltroTitulo";
                ObjectDataSource1.SelectParameters.Add("FiltroTitulo", txtBusqueda);
                GridView1.DataBind();
                LInfoBusqueda.Text = "Resultado de búsqueda de peliculas con filtro \"" + txtBusqueda + "\"";
            }
        }
    }



    Avisen si les funciona.

    Saludos
    Pepelota





    2009年12月10日 下午 09:33
  • hola

    Pues tengo el mismo problemas de estudes estoy trabajango en vb.net si alguien sabe como resolver el problema x favor conpartan la solucion

    y de antemano gracias

    2011年3月20日 上午 03:41