Principales respuestas
No puedo usar reponse ni request

Pregunta
-
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.
-
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: indexlo 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="<%$ ConnectionStringsisTarConnectionString %>" 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>
-
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 mostrarloConsole.WriteLine(ex.Message);}
Espero te halla servido -
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
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.
-
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: indexlo 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="<%$ ConnectionStringsisTarConnectionString %>" 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>
-
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 mostrarloConsole.WriteLine(ex.Message);}
Espero te halla servido -
-
-
el .aspx.vb tambien pero contiene solo:
Partial
Class DetalleInherits System.Web.UI.Page
End
Classlo 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="<%$ ConnectionStringsisTarConnectionString %>" 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="<%$ ConnectionStrings
isTarConnectionString %>" 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
-
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