none
Como posicionar las columnas de mi gridview en el cual tengo un image Button dentro de mi item template que hacen referencia a un handler? RRS feed

  • Question

  • Hola, estoy enun problema hace ya unos días. Tengo un GridView, el cuál me muestra fotos de la forma: 

    foto1 nombre

    foto2 nombre

    Y yo lo que quiero es que me lo muestre de la forma:

    foto1 foto2 foto3

    no1 no2 no3

    foto4 foto5 foto6

    no4 no5 no6

    Aquí el código de mi GridView:

    <asp:GridView ID="GridView1" runat="server" Width="100%" 
                    AutoGenerateColumns="False" AllowPaging="True">
                    <Columns>  <asp:BoundField DataField = "nombreCampo" />

                        <asp:TemplateField ItemStyle-Height="190px" ItemStyle-Width="160px">
                            <ItemTemplate>
                                <asp:ImageButton ID="ImageButton2" runat="server"  CausesValidation = "true"
                                  ImageUrl='<%# "ImagenesLibrosHandler.ashx?ImID="+ Eval("titulo") %>' Width="140px" Height="180px" />
                            </ItemTemplate>
                        </asp:TemplateField>

                    </Columns>
                </asp:GridView>

    Codigo de serv:

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                BELibro librosBe = new BELibro();
                GridView1.DataSource = librosBe.obtenerNombresLibs();
                GridView1.DataBind();
            }
            catch (HttpException heex)
            {
                Console.WriteLine(heex.Message);
            }
            catch (Exception exx)
            {
                Console.WriteLine(exx.Message);
                Response.Redirect("~/principal.aspx");
            }
        }

    Handler:

         

    public class ImagenesLibrosHandler : IHttpHandler 
    {

        public void ProcessRequest (HttpContext context) 
        {
            try
            {
                SqlDataReader reader = null;
                string imgId = context.Request.QueryString["ImID"];
                DALConexion conexion =new DALConexion("server", "db", "us", "contt");
                if (conexion.abrirConexion())
                {
                    SqlCommand cmd = new SqlCommand("SELECT imagen FROM imagenes WHERE titulo = '" + imgId + "'", conexion.Conexion);
                    reader = cmd.ExecuteReader();
                    reader.Read();
                    context.Response.BinaryWrite((Byte[])reader[0]);
                }
                conexion.cerrarConexion();
                context.Response.End();
            }
            catch (SqlException sqex)
            {
                Console.WriteLine(sqex.Message);
            }
            catch (Exception exx)
            {
                Console.WriteLine(exx.Message);
            }
        }

        public bool IsReusable 
        {
            get 
            {
                return false;
            }
        }

    }

    Alguien tiene algúna idea de cómo se puede lograr esto? Les estaré muy agradecido si me pueden ayudar.

    Thursday, January 24, 2013 7:00 PM

All replies

  • Hi Marcos,

    Thank you for posting in the MSDN forum.

    Since we just support the English language issue, so I will move this thread to the Off-topic forum, maybe you could select the correct language forum in your side. Thanks for your understanding.

    Best Regards,


    Jack Zhai [MSFT]
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, January 28, 2013 8:34 AM