Recoger valor celda grid (ASP.NET) y pasarlo a una variable

Soy bastante nuevo en ASP, y necesito ayuda.
Tengo una aplicación en PHP que se ha de pasar a ASP.NET con VB (También entiendo el C#) y me encuentro con un problema que no he sabido resolver:
Tengo una pantalla ASPX en la que hay un <Div> modal que ha de presentar una información que está en PDF (campo sinopsis que está oculto).



<%@ Page Title="Teatro" Language="VB" AutoEventWireup="false" MasterPageFile="~/Site.Master" CodeBehind="Teatro.aspx.vb" Inherits="Obras.Teatro" %>

< asp:Content runat="server" ID="BodyContent" ContentPlaceHolderID="MainContent">
. . .
. . .
< asp:TemplateColumn HeaderText="+" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
< ItemStyle Width="5%"></ItemStyle>
<ItemTemplate>
<a href="#openModal">
<asp:Image runat="server" Visible='<%#Container.DataItem("OkSinopsi")%>' ImageUrl="~/Images/tooltips.gif" />
</a>
</ItemTemplate>
< /asp:TemplateColumn>
. . .
. . .
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<p>
??? Aquí quiero presentar el PDF del Grid ('<%#Container.DataItem("Sinopsis")%>')
</p>
</div>
</div>
< /asp:Content>



Sé que los pdf se pueden presentar dentro de un iframe o con object, pero no sé como recoger el valor del campo del grid.

¿Hay alguna manera de poder conseguir este efecto?

1 respuesta

Respuesta
1

//Cliente, Cargado en un GridView1
 <asp:TemplateField>
  <HeaderTemplate>
   <asp:Label ID="Label1" runat="server" Text="ver XML" ForeColor="AliceBlue"></asp:Label>
  </HeaderTemplate>
   <ItemTemplate>
   <!--OnClientClick="javascript:OpenCatalago('Text1',false ,515, 400,'visualizaXml.aspx')"-->
   <asp:ImageButton  CommandName="visXML" CommandArgument="<%#((GridViewRow)Container).RowIndex%>" ImageUrl="~/imagenes/doc.png"  id="Button2" runat="server"  />
   </ItemTemplate>
  <HeaderStyle Wrap="False" ForeColor="White" />
</asp:TemplateField>
//Servidor 
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "visXML")
        {
            try
            {

                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow rowInd = GridView1.Rows[index];
                mandaVariableArchivo.varNopmArcDesc = Convert.ToString(GridView1.DataKeys[rowInd.RowIndex][28]).Trim();
                mandaVariableArchivo.varFechaDesc = Convert.ToString(Convert.ToDateTime(GridView1.DataKeys[rowInd.RowIndex][27]).ToString("yyyyMMdd"));
                mandaVariableArchivo.varRfcDesc = Convert.ToString(GridView1.DataKeys[rowInd.RowIndex][1]).Trim();
                Response.Write("<script type='text/javascript'>window.open('visualizaXml.aspx');</script>");

            }
            catch (Exception ex)
            {
                LabelError.Text = ex.Message ;
            }
        }


          

¡Gracias! 

Voy a probarlo y en el caso de que me encuentre con problemas te lo comento. En principio veo que tiene buena pinta.

Un saludo. 

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas