none
No puedo usar reponse ni request RRS feed

  • Pregunta

  •  

    no se si hay que aumentar una referencia dentro de mi proyecto o porque mismo es lo que no existen dentro de mi proyecto alguien que me ayude
    miércoles, 22 de octubre de 2008 16:05

Respuestas

  • Response y Request no son parte del "proyecto", sino que son dos propiedades de la clase Page. Cuando estás programando una página web, y escribes código dentro de la página, puedes llamar directamente a Request y Response porque la clase que define la página hereda de System.Web.UI.Page y por lo tanto accede a estas dos propiedades de su clase madre.

     

    Si escribes código en otra clase fuera de Page, no aparecen. Una forma de obtenerlos es llamando a HttpContext.Current.Request y HttpContext.Current.Response. Para que funcionen, se necesita en el proyecto una referencia a System.Web, así como importar en el fuente ese mismo espacio de nombres. Por supuesto, darán un error si se las llama sin que la llamada provenga de una página web, ya que el HttpContext.Current será null en este caso.

    miércoles, 22 de octubre de 2008 21:06
  • gracias Alberto ahora tengo otro problema como puedes controlar errores dentro de asp????

     

    estoy haciendo una consulta dentro de un SqlDataSource tomando valores de un gridview que no siempre tiene filas llenas y me sale el error:

     

    El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
    Nombre del parámetro: index

     

    lo cual es porque esta vacio el gridview como hago para que no me muestre el error sino que muestre un alert o un msgbox.

     

     

    <asp:SqlDataSource ID="SqlDSAKI" runat="server"

    ConnectionString="<%$ ConnectionStringsTongue TiedisTarConnectionString %>"

    SelectCommand="SELECT tb_tarjetas.Apellido AS NOMBRE, tbdetalle.local AS LOCAL, tbdetalle.fecha AS FECHA, tbdetalle.transaccion AS TRANSACCION, tbdetalle.razon AS RAZON, tbdetalle.valor AS VALOR, tbdetalle.facturaa AS FACTURAR FROM tbdetalle INNER JOIN tb_tarjetas ON tbdetalle.tarjeta = tb_tarjetas.Tarjeta WHERE ((tbdetalle.tarjeta = @tarjeta) OR (tbdetalle.facturaa = @facturaa)) and tbdetalle.rechazado = '' ORDER BY TRANSACCION, FACTURAR, FECHA, NOMBRE">

    <SelectParameters>

    <asp:ControlParameter ControlID="GVIngreso" Name="tarjeta"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    <asp:ControlParameter ControlID="GVIngreso" Name="facturaa"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    </SelectParameters>

    </asp:SqlDataSource>

    lunes, 27 de octubre de 2008 19:59
  • Si claro que se pueden controlar errores o en este caso Excepciones

    Las Excepciones son errores que ocurren en tiempo de ejecucion y que no se proben en tiempo de diseño. para esto puedes utilizar el try y el catch de la siguiente manera

    try
    {
    //Codigo que se ejecuta
    //Aqui puedes enlazar datos o utilizar metodos en fin
    //todo del evento o metodo
    }
    catch(Exception ex)
    {
    //Si encuentra algun error este bloque se encarga de mostrarlo
    Console.WriteLine(ex.Message);
    }

    Espero te halla servido
    lunes, 27 de octubre de 2008 21:59
  • Entonces el codigo de manejo de Exceptcion osea los bloques try y chatch deben de ir en el momento que se ejecuta un evento en este caso en el archivo de .vb donde esta tu codigo.

    En el texto que mostraste no va codigo de manejo de Excepciones ya que este codigo es descripcion como el xml por eso no lleva ese manejo

    Suerte
    martes, 28 de octubre de 2008 17:54

Todas las respuestas

  • Response y Request no son parte del "proyecto", sino que son dos propiedades de la clase Page. Cuando estás programando una página web, y escribes código dentro de la página, puedes llamar directamente a Request y Response porque la clase que define la página hereda de System.Web.UI.Page y por lo tanto accede a estas dos propiedades de su clase madre.

     

    Si escribes código en otra clase fuera de Page, no aparecen. Una forma de obtenerlos es llamando a HttpContext.Current.Request y HttpContext.Current.Response. Para que funcionen, se necesita en el proyecto una referencia a System.Web, así como importar en el fuente ese mismo espacio de nombres. Por supuesto, darán un error si se las llama sin que la llamada provenga de una página web, ya que el HttpContext.Current será null en este caso.

    miércoles, 22 de octubre de 2008 21:06
  • gracias Alberto ahora tengo otro problema como puedes controlar errores dentro de asp????

     

    estoy haciendo una consulta dentro de un SqlDataSource tomando valores de un gridview que no siempre tiene filas llenas y me sale el error:

     

    El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
    Nombre del parámetro: index

     

    lo cual es porque esta vacio el gridview como hago para que no me muestre el error sino que muestre un alert o un msgbox.

     

     

    <asp:SqlDataSource ID="SqlDSAKI" runat="server"

    ConnectionString="<%$ ConnectionStringsTongue TiedisTarConnectionString %>"

    SelectCommand="SELECT tb_tarjetas.Apellido AS NOMBRE, tbdetalle.local AS LOCAL, tbdetalle.fecha AS FECHA, tbdetalle.transaccion AS TRANSACCION, tbdetalle.razon AS RAZON, tbdetalle.valor AS VALOR, tbdetalle.facturaa AS FACTURAR FROM tbdetalle INNER JOIN tb_tarjetas ON tbdetalle.tarjeta = tb_tarjetas.Tarjeta WHERE ((tbdetalle.tarjeta = @tarjeta) OR (tbdetalle.facturaa = @facturaa)) and tbdetalle.rechazado = '' ORDER BY TRANSACCION, FACTURAR, FECHA, NOMBRE">

    <SelectParameters>

    <asp:ControlParameter ControlID="GVIngreso" Name="tarjeta"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    <asp:ControlParameter ControlID="GVIngreso" Name="facturaa"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    </SelectParameters>

    </asp:SqlDataSource>

    lunes, 27 de octubre de 2008 19:59
  • Si claro que se pueden controlar errores o en este caso Excepciones

    Las Excepciones son errores que ocurren en tiempo de ejecucion y que no se proben en tiempo de diseño. para esto puedes utilizar el try y el catch de la siguiente manera

    try
    {
    //Codigo que se ejecuta
    //Aqui puedes enlazar datos o utilizar metodos en fin
    //todo del evento o metodo
    }
    catch(Exception ex)
    {
    //Si encuentra algun error este bloque se encarga de mostrarlo
    Console.WriteLine(ex.Message);
    }

    Espero te halla servido
    lunes, 27 de octubre de 2008 21:59
  • y en donde lo pongo, todo estoy haciendo dentro del aspx <asp:.....> no esta dentro de funciones ni nada no entiendo soy principiante

     

    gracias

    martes, 28 de octubre de 2008 16:25
  • Te hago una pregunta antes

    tienes todo el codigo en un solo archivo o por el contrario tienes los dos archivos el .aspx y el .cs o .vb
    te lo pregunto por que van en sitios diferentes

    martes, 28 de octubre de 2008 17:26
  • el .aspx.vb tambien pero contiene solo:

     

    Partial Class Detalle

    Inherits System.Web.UI.Page

    End Class

     

    lo demas esta en el .aspx

     

    <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Detalle.aspx.vb" Inherits="Detalle" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

    <title>Detalle</title>

    <script language="javascript" type="text/javascript">

    // <!CDATA[

    function window_onmousedown() {

    if ((event.button == 2) || (event.button == 3)) { alert("No puede utilizar el bot¢n derecho del mouse") }

    }

    // ]]>

    </script>

    </head>

    <body onmousedown="return window_onmousedown()">

    <form id="form1" runat="server">

    <asp:GridView ID="GVIngreso" runat="server" AutoGenerateColumns="False"

    DataKeyNames="Tarjeta" DataSourceID="SqlDataSourceIngreso"

    style="margin-right: 0px" Visible="False">

    <Columns>

    <asp:BoundField DataField="Tarjeta" HeaderText="Tarjeta" ReadOnly="True"

    SortExpression="Tarjeta" />

    </Columns>

    <HeaderStyle BackColor="#FFFFCC" />

    </asp:GridView>

    <asp:SqlDataSource ID="SqlDataSourceIngreso" runat="server"

    ConnectionString="<%$ ConnectionStringsTongue TiedisTarConnectionString %>"

    SelectCommand="SELECT [Tarjeta] FROM [tb_tarjetas] WHERE (([Tarjeta] = @Tarjeta) AND ([Clave] = @Clave))">

    <SelectParameters>

    <asp:QueryStringParameter Name="Tarjeta" QueryStringField="u" Type="String" />

    <asp:QueryStringParameter Name="Clave" QueryStringField="c" Type="Decimal" />

    </SelectParameters>

    </asp:SqlDataSource>

    <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDSAKI"

    AutoGenerateColumns="False">

    <Columns>

    <asp:BoundField DataField="NOMBRE" HeaderText="NOMBRE"

    SortExpression="NOMBRE" />

    <asp:BoundField DataField="LOCAL" HeaderText="LOCAL" SortExpression="LOCAL" />

    <asp:BoundField DataField="FECHA" HeaderText="FECHA" SortExpression="FECHA" />

    <asp:BoundField DataField="TRANSACCION" HeaderText="TRANSACCION"

    SortExpression="TRANSACCION" />

    <asp:BoundField DataField="RAZON" HeaderText="RAZON" SortExpression="RAZON" />

    <asp:BoundField DataField="VALOR" HeaderText="VALOR" SortExpression="VALOR" />

    <asp:BoundField DataField="FACTURAR" HeaderText="FACTURAR"

    SortExpression="FACTURAR" />

    </Columns>

    <HeaderStyle BackColor="#FFFFCC" />

    </asp:GridView>

    <asp:SqlDataSource ID="SqlDSAKI" runat="server"

    ConnectionString="<%$ ConnectionStringsTongue TiedisTarConnectionString %>"

    SelectCommand="SELECT tb_tarjetas.Apellido AS NOMBRE, tbdetalle.local AS LOCAL, tbdetalle.fecha AS FECHA, tbdetalle.transaccion AS TRANSACCION, tbdetalle.razon AS RAZON, tbdetalle.valor AS VALOR, tbdetalle.facturaa AS FACTURAR FROM tbdetalle INNER JOIN tb_tarjetas ON tbdetalle.tarjeta = tb_tarjetas.Tarjeta WHERE ((tbdetalle.tarjeta = @tarjeta) OR (tbdetalle.facturaa = @facturaa)) and tbdetalle.rechazado = '' ORDER BY TRANSACCION, FACTURAR, FECHA, NOMBRE">

    <SelectParameters>

    <asp:ControlParameter ControlID="GVIngreso" Name="tarjeta"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    <asp:ControlParameter ControlID="GVIngreso" Name="facturaa"

    PropertyName="Rows[0].Cells[0].Text" Type="String" DefaultValue="0" />

    </SelectParameters>

    </asp:SqlDataSource>

    </form>

    </body>

    </html>

     

     

     

    o hay alguna forma de llamar a un SqlDataSource desde: javascript

    martes, 28 de octubre de 2008 17:45
  • Entonces el codigo de manejo de Exceptcion osea los bloques try y chatch deben de ir en el momento que se ejecuta un evento en este caso en el archivo de .vb donde esta tu codigo.

    En el texto que mostraste no va codigo de manejo de Excepciones ya que este codigo es descripcion como el xml por eso no lleva ese manejo

    Suerte
    martes, 28 de octubre de 2008 17:54