Foros del Web » Programando para Internet » ASPX (.net) »

Problemas con aplicacion asp.net

Estas en el tema de Problemas con aplicacion asp.net en el foro de ASPX (.net) en Foros del Web. Saludos soy nuevo en esto de asp.net y estoy haciendo una aplicacion para que me devuelva la letra del dni pero al intentar verla en ...
  #1 (permalink)  
Antiguo 28/04/2008, 14:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Exclamación Problemas con aplicacion asp.net

Saludos soy nuevo en esto de asp.net y estoy haciendo una aplicacion para que me devuelva la letra del dni pero al intentar verla en el navegador me da error.

Mensaje de error del compilador: BC30260: 'btEnviar' ya se declaró como 'Public btEnviar As System.Web.UI.WebControls.Button' en class.

Error de código fuente:



Línea 25: End Sub
Línea 26:
Línea 27: Protected Sub btEnviar(ByVal sender As Object, ByVal e As System.EventArgs)
Línea 28: EventHandlers(btEnviar.Click)
Línea 29: Calcular_NIF(tbDni, True)

No se que estoy haciendo mal, ya digo que soy nuevo, alguien me puede echar un cable, aqui dejo el codigo por si alguien le quiere echar un vistazo.

<%@ Page Language="vb" Inherits="primera" src="proyecto.aspx.vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Primera página ASP.NET </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="Miliuco">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
a:link {color: Blue; font-weight: bold;}
a:visited{color: Purple; font-weight: bold;}
a:hover{color: Red; font-weight: bold;}
body {margin-left: 15px; font-family: Verdana, Geneva, Arial,
Helvetica, sans-serif; font-size: 10pt;}
table {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10pt;}
</style>
</head>
<body>
<form id="Form1" runat="server">
<div align="center">
<table align="center" border="0" width="550" id="table1">
<tr>

</tr>
</table>
<br>
<asp:Label id="lbMensaje1"
font-bold="True"
font-size="22pt"
forecolor="blue"
runat="server"></asp:Label>
</div>
<div align="center">
<h3 align="center"><font color="blue">Escribe tu
DNI:</font></h3>
<div align="center">
<asp:TextBox id="tbDni"
Width="102px"
Runat="server"></asp:TextBox>
<asp:Button id="btEnviar"
onclick="Calcular_NIF"
Runat="server"
BorderWidth="2px"
BorderStyle="Solid"
BackColor="White"
ForeColor="Black"
Text="Enviar"></asp:Button>
<p></p>
<br><br>
</div>
</div>
<div align="center">
</div>
</form>
</body>
</html>

proyecto.aspx.vb

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls


Public Class primera : Inherits Page


Public lbMensaje1 As Label
Public tbDni As TextBox
Public btEnviar As Button



Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
lbMensaje1.Text = "Aplicacion Dni ASP.NET"

End Sub

Protected Sub btEnviar(ByVal sender As Object, ByVal e As System.EventArgs)
EventHandlers(btEnviar.Click)
Calcular_NIF(tbDni, True)
End Sub

Public Function Calcular_NIF(ByVal tbdni As String, ByVal retornoLetra As Boolean) As String
Dim resto As Integer
Dim letra_NIF As String
letra_NIF = ""
If tbdni = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Len(tbdni) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Not IsNumeric(tbdni) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
Else
resto = Val(tbdni) Mod 23
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"

End Select
If retornoLetra = True Then
Return letra_NIF
Else
Return tbdni & letra_NIF
End If

Exit Function
End If

End Function


End Class
  #2 (permalink)  
Antiguo 28/04/2008, 14:22
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Estás creando dos Objetos con el mismo nombre, por eso te manda el error.
Código HTML:
<asp:Button id="btEnviar"
onclick="Calcular_NIF"
Runat="server"
BorderWidth="2px"
BorderStyle="Solid"
BackColor="White"
ForeColor="Black"
Text="Enviar"></asp:Button> 
y
Código:
Public Class primera : Inherits Page


Public lbMensaje1 As Label
Public tbDni As TextBox
Public btEnviar As Button 
Aparte, veo q en tu código HTML tienes ya definido OnClick=... y en el CodeBehind tmb tienes un btEnviar.Click
Checa tmb esa parte pq te va a causar conflicto, o funcionará desde el Server (generándote el PostBack) o podrás manejar algún evento en el cliente...

Espero te sirva
  #3 (permalink)  
Antiguo 28/04/2008, 14:28
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

En el codigo html quiero crear un textbox y un boton que cuando haga click me de el resultado, entonces tengo que quitar el onclick del codigo html?
  #4 (permalink)  
Antiguo 28/04/2008, 14:34
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Ya depende de como lo quieras manejar tú...
Los botones por default te generan 'ida y vuelta' al servidor, ejecutando el código q está dentro de tu CodeBehind en ... btEnviar_Click(...)
Cuando tu 'agregas' el OnClick a un botón, te permite asignarle la función q deseas q se ejecute.

Ya depende de tu programación como manejes los datos para q te arrojen los resultados.
Cualquier cosa, aqui andamos...
  #5 (permalink)  
Antiguo 28/04/2008, 14:37
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Me estoy dando cuenta q tanto el Label, como el TextBox, como tu Button están 'duplicados' dentro de tu CodeBehind... no necesitas volver a declararlos, esto lo hace por default el lenguaje en el archivo del Diseñador. Elimína esas declaraciones, y asi evitarás conflictos
  #6 (permalink)  
Antiguo 28/04/2008, 14:47
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

que te refieres al public tbmensaje as textbot y las label? comprobandolo sigue dandome error en el Eventhandler
  #7 (permalink)  
Antiguo 28/04/2008, 14:49
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Ahora me sale la parte del diseño html pero cuando le doy a enviar no responde, le he quitado el onclick de la parte html, que llama a la funcion Calcular_NIf
  #8 (permalink)  
Antiguo 28/04/2008, 14:57
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Cuando agregas los componentes desde la pestaña de "Cuadro de Herramientas" se crea todo lo necesario para trabajar con esos controles... no es necesario q los declares de nuevo en el CodeBehind
Código:
Public Class primera : Inherits Page


Public lbMensaje1 As Label
Public tbDni As TextBox
Public btEnviar As Button '<<<=== ESTO NO VA 
Cada q selecciones un control de los q agregas a tu Form, ve a la Ventana de Propiedades, y si te fijas en la parte alta de esa ventana hay un 'RAYITO' AMARILLO, el cual te muestra la lista de eventos posibles de usar en tu control.
Por lo regular (en Visual Basic) te pone algo asi como:
Código:
Protected Sub btEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) EventHandlers(btEnviar.Click)
   
End Sub
Eso te lo genera automáticamente al darle doble click al Button desde el Diseñador.
Dentro de estas etiquetas pones el código, tal como lo estás manejando.

Simple?
Espero te sirva
  #9 (permalink)  
Antiguo 28/04/2008, 15:26
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Nada he hecho lo que me has dicho y nada, el textBox tambien hay que enlazarlo? el caso es que le doy a enviar no me sale los MsgBox del codigo. y meto la numeracion y no me hace el string.
  #10 (permalink)  
Antiguo 28/04/2008, 15:33
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Podrias postear de nuevo tu código? Por fa...
Habría q darle una checada a ver como te quedó...

Si gustas solo lo q está en tu .vb (usas Basic, vdd?)

Saludos
  #11 (permalink)  
Antiguo 28/04/2008, 15:39
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls



Public Class primera : Inherits Page

Public lbMensaje1 As Label

Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
lbMensaje1.Text = "Aplicacion Dni ASP.NET"


End Sub

Protected Sub btEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub
Protected Sub Calcular_NIF(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

Protected Function Calcular_NIF(ByVal tbdni As String, ByVal retornoLetra As Boolean) As String
Dim resto As Integer
Dim letra_NIF As String
letra_NIF = ""
If tbdni = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Len(tbdni) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Not IsNumeric(tbdni) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
Else
resto = Val(tbdni) Mod 23
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"

End Select
If retornoLetra = True Then
Return letra_NIF
Else
Return tbdni & letra_NIF
End If

Exit Function
End If

End Function



End Class
  #12 (permalink)  
Antiguo 28/04/2008, 16:01
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Se me ha olvidado decirte que esta en visual basic
  #13 (permalink)  
Antiguo 28/04/2008, 16:09
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Varias cosas q necesitas:
- Asignar la función a realizar cuando hagas 'click' al botón, q me imagino es Calcular_NIF()
Deberia quedarte algo como:
Código:
  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Calcular_NIF(parametro1, parametro2)
    End Sub
Ahora... donde estás guardando el resultado de tu función???
si lo quieres guardar en tu TextBox, accede a su propiedad .Text

Código:
  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        tbDNI.Text = Calcular_NIF(parametro1,parametro2) 'Tal vez aqui te tome el valor q te retorna la función
    End Sub
En cierto caso, tmb debes poner en el Return:
Código:
If retornoLetra = True Then
   Return letra_NIF
Else
   Return tbdni.Text & letra_NIF '<<=== Aqui haz referencia tmb a la propiedad .TEXT de tu TextBox
End If
Ojalá vayas por mejor camino
  #14 (permalink)  
Antiguo 28/04/2008, 16:35
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Sigue dandome Error,

Mensaje de error del compilador: BC30506: La cláusula Handles requiere una variable WithEvents definida en el tipo contenedor o en uno de sus tipos base.

Error de código fuente:



Línea 23:
Línea 24:
Línea 25: Protected Sub btEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
Línea 26: Calcular_NIF(resto, letra_NIF)
Línea 27: End Sub

Aqui te dejo el codigo por si lo quieres mirar y dejalo que ya es tarde.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls



Public Class primera : Inherits Page

Public lbMensaje1 As Label

Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
lbMensaje1.Text = "Aplicacion Dni ASP.NET"


End Sub


Protected Sub Calcular_NIF(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub


Protected Sub btEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
Calcular_NIF(resto, letra_NIF)
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
tbdni.Text = Calcular_NIF(resto, letra_NIF)
End Sub
Protected Function Calcular_NIF(ByVal tbdni As String, ByVal retornoLetra As Boolean) As String
Dim resto As Integer
Dim letra_NIF As String
letra_NIF = ""
If tbdni = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Len(tbdni) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Not IsNumeric(tbdni) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
Else
resto = Val(tbdni) Mod 23
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"

End Select
If retornoLetra = True Then
Return letra_NIF
Else
Return tbdni.Text & letra_NIF
End If

Exit Function
End If

End Function



End Class
  #15 (permalink)  
Antiguo 30/04/2008, 07:21
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Hola,

Comenta esto porque me da que has quitado tu btenviar, pero todavia tienes esto puesto y no puedes tener dos handles para el mismo control

Código:
Protected Sub btEnviar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click 'Handles 1 para button1
Calcular_NIF(resto, letra_NIF)
End Sub
Para que veas a lo que me refiero con tener don handles para el mismo control:
(Esto dejalo como esta)
Código:
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 'Handles 2 para button1
tbdni.Text = Calcular_NIF(resto, letra_NIF)
End Sub
Saludos
  #16 (permalink)  
Antiguo 02/05/2008, 10:18
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Nada no consigo sacarlo, me da ahora este error.

Mensaje de error del compilador: BC30506: La cláusula Handles requiere una variable WithEvents definida en el tipo contenedor o en uno de sus tipos base.

Error de código fuente:



Línea 28: End Sub
Línea 29:
Línea 30: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Línea 31: tbDni.Text = Calcular_NIF(resto, letra_NIF)
Línea 32: End Sub

Aqui dejo el codigo por si alguien quiere echarle un vistazo.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls



Public Class primera : Inherits Page

Public lbMensaje1 As Label

Dim resto As Integer
Dim letra_NIF As Integer


Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
lbMensaje1.Text = "Aplicacion Dni ASP.NET"


End Sub



Protected Sub Calcular_NIF(ByVal sender As Object, ByVal e As System.EventArgs)


End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
tbDni.Text = Calcular_NIF(resto, letra_NIF)
End Sub


Protected Function Calcular_NIF(ByVal tbDni As String, ByVal retornoLetra As Boolean) As String
Dim resto As Integer
Dim letra_NIF As String
letra_NIF = ""
If tbdni = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Len(tbDni) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Not IsNumeric(tbDni) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
Else
resto = Val(tbDni) Mod 23
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"

End Select
If retornoLetra = True Then
Return letra_NIF
Else
Return tbDni.Text & letra_NIF
End If

Exit Function
End If

End Function



End Class
  #17 (permalink)  
Antiguo 02/05/2008, 10:29
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Intenta comentando (o eliminando) el sig. fragmento del código:
Código:
Protected Sub Calcular_NIF(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub
A propósito, mandas dos parámetros en la llamada a tu function Calcular_NIF(resto,letraNIF)
'resto' ya la tienes definida de tipo Integer, pero donde le dices q valor tome???
y lo mismo con letraNIF...

Aparte, en la definición de tu Function le dices q recibes un String y un Boolean
Código:
   Protected Function Calcular_NIF(ByVal tbDni As String, ByVal retornoLetra As Boolean) As String
   ...
Creo q por ahi anda fallando la lógica, brother...

Animo

Última edición por jlbautista; 02/05/2008 a las 10:43
  #18 (permalink)  
Antiguo 03/05/2008, 17:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: Problemas con aplicacion asp.net

tengo el mismo problema y queria saber si lograron solucionarlo. y si podrian proporcionarme un ejemplo completo y funcional. e logrado cosas pequeñas pero al copilarlos en el explorador tarda mucho en aser algo muy sencillo.
  #19 (permalink)  
Antiguo 04/05/2008, 05:15
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Nada que no consigo sacarlo, sigue dandome este error.

Mensaje de error del compilador: BC30506: La cláusula Handles requiere una variable WithEvents definida en el tipo contenedor o en uno de sus tipos base.

Error de código fuente:



Línea 26:
Línea 27:
Línea 28: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnApprove.Click
Línea 29: tbDni = Calcular_NIF(resto, letra_NIF)
Línea 30: End Sub

dejo el codigo por si alguien quiere echarle un vistazo, lo que estoy viendo que asp.net es complicado para hacer una aplicacion tan pequeña como es poner un textbox y un boton.

Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls



Public Class primera : Inherits Page

Public lbMensaje1 As Label

Dim resto As Integer
Dim letra_NIF As Integer
Dim tbDni As String


Sub Page_Load(ByVal obj As Object, ByVal e As EventArgs)
lbMensaje1.Text = "Aplicacion Dni ASP.NET"


End Sub





Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnApprove.Click
tbDni = Calcular_NIF(resto, letra_NIF)
End Sub


Protected Function Calcular_NIF(ByVal tbDni As String, ByVal retornoLetra As Boolean) As String
Dim resto As Integer = Integer.Parse(tbDni)
Dim letra_NIF As String = Integer.Parse(retornoLetra)
letra_NIF = ""
If tbdni = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Len(tbDni) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
ElseIf Not IsNumeric(tbDni) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Calcular_NIF = ""
Exit Function
Else
resto = Val(tbDni) Mod 23
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"

End Select
If retornoLetra = True Then
Return letra_NIF
Else
Return tbDni & letra_NIF
End If

Exit Function
End If

End Function



End Class
  #20 (permalink)  
Antiguo 04/05/2008, 21:44
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Podrías poner tu pseudocódigo, pls?
Q es lo q requieres q haga tu aplicación?
Pq la vdd creo q estás más hecho 'bolas' q lo q en realidad necesitas.

Si transcribes tu idea y el algoritmo de lo q necesitas, te ayudo con gusto.
  #21 (permalink)  
Antiguo 04/05/2008, 21:54
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Código Funcionando sin Problemas...
Será esto lo q necesitas???
Solo Agrega un Label, Un TextBox y un Button
Al Unico control q tendrías q cambiarle su ID sería el TextBox, para q en lugar q se llame TextBox1 se llame tbDNI

Código:
Partial Class CalculoNIF
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Label1.Text = "Ejemplo de Programación WebForm ASP .NET (VB)"
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        tbDNI.Text += CalcularNIF(tbDNI.Text, Nothing)
    End Sub

    Private Function CalcularNIF(ByVal resto As String, ByVal letra_NIF As String) As String
        If resto = "" Then
            MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
            Return Nothing
            Exit Function
        ElseIf Len(resto) < 7 Then
            MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
            Return Nothing
            Exit Function
        ElseIf Not IsNumeric(resto) Then
            MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
            Return Nothing
            Exit Function
        Else
            resto = Convert.ToInt32(resto Mod 23)
            Select Case resto
                Case 0
                    letra_NIF = "T"
                Case 1
                    letra_NIF = "R"
                Case 2
                    letra_NIF = "W"
                Case 3
                    letra_NIF = "A"
                Case 4
                    letra_NIF = "G"
                Case 5
                    letra_NIF = "M"
                Case 6
                    letra_NIF = "Y"
                Case 7
                    letra_NIF = "F"
                Case 8
                    letra_NIF = "P"
                Case 9
                    letra_NIF = "D"
                Case 10
                    letra_NIF = "X"
                Case 11
                    letra_NIF = "B"
                Case 12
                    letra_NIF = "N"
                Case 13
                    letra_NIF = "J"
                Case 14
                    letra_NIF = "Z"
                Case 15
                    letra_NIF = "S"
                Case 16
                    letra_NIF = "Q"
                Case 17
                    letra_NIF = "V"
                Case 18
                    letra_NIF = "H"
                Case 19
                    letra_NIF = "L"
                Case 20
                    letra_NIF = "C"
                Case 21
                    letra_NIF = "K"
                Case 22
                    letra_NIF = "E"
            End Select

            Return letra_NIF
        End If
    End Function
End Class
  #22 (permalink)  
Antiguo 06/05/2008, 14:44
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Nada sigue dandome este error.

Mensaje de error del compilador: BC30506: La cláusula Handles requiere una variable WithEvents definida en el tipo contenedor o en uno de sus tipos base.

Error de código fuente:



Línea 12: End Sub
Línea 13:
Línea 14: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Línea 15: tbDNI.Text += CalcularNIF(tbDNI.Text, Nothing)
Línea 16: End Sub

En el visual web developer me subraya Button1.click como que esta mal.

Ya no ser que hacer.

Dejo aqui el codigo html y el otro por que yo no consigo sacarlo.


HTML

<%@ Page Language="vb" Inherits="primera" src="proyecto.aspx.vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">



<html>
<head>
<title> Primera página ASP.NET </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="Miliuco">
<meta name="Keywords" content="">
<meta name="Description" content="">
<style>
a:link {color: Blue; font-weight: bold;}
a:visited{color: Purple; font-weight: bold;}
a:hover{color: Red; font-weight: bold;}
body {margin-left: 15px; font-family: Verdana, Geneva, Arial,
Helvetica, sans-serif; font-size: 10pt;}
table {font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10pt;}
</style>
</head>
<body>
<form id="Form1" runat="server">
<div align="center">
<table align="center" border="0" width="550" id="table1">
<tr>

</tr>
</table>
<br>
<asp:Label id="label1"
font-bold="True"
font-size="22pt"
forecolor="blue"
runat="server"></asp:Label>
</div>
<div align="center">
<h3 align="center"><font color="blue">Escribe tu
DNI:</font></h3>
<div align="center">
<asp:TextBox id="tbDNI"
Width="102px"
Runat="server"></asp:TextBox>
<asp:Button id="Button1"
onclick="Calcular_NIF"
Runat="server"
BorderWidth="2px"
BorderStyle="Solid"
BackColor="White"
ForeColor="Black"
Text="Enviar" Height="26px"></asp:Button>
<p></p>
<br><br>
</div>
</div>
<div align="center">
</div>
</form>
</body>
</html>

VB

Partial Class CalculoNIF
Inherits System.Web.UI.Page

Public label1 As Label
Public tbDNI As TextBox
Public Button1 As Object



Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = "Ejemplo de Programación WebForm ASP .NET (VB)"
End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
tbDNI.Text += CalcularNIF(tbDNI.Text, Nothing)
End Sub

Private Function CalcularNIF(ByVal resto As String, ByVal letra_NIF As String) As String
If resto = "" Then
MsgBox("No se ha introducido datos", MsgBoxStyle.Information)
Return Nothing
Exit Function
ElseIf Len(resto) < 7 Then
MsgBox("No se puede calcular el NIF porque faltan dígitos", MsgBoxStyle.Information)
Return Nothing
Exit Function
ElseIf Not IsNumeric(resto) Then
MsgBox("El dato introducido no es numérico", MsgBoxStyle.Information)
Return Nothing
Exit Function
Else
resto = Convert.ToInt32(resto Mod 23)
Select Case resto
Case 0
letra_NIF = "T"
Case 1
letra_NIF = "R"
Case 2
letra_NIF = "W"
Case 3
letra_NIF = "A"
Case 4
letra_NIF = "G"
Case 5
letra_NIF = "M"
Case 6
letra_NIF = "Y"
Case 7
letra_NIF = "F"
Case 8
letra_NIF = "P"
Case 9
letra_NIF = "D"
Case 10
letra_NIF = "X"
Case 11
letra_NIF = "B"
Case 12
letra_NIF = "N"
Case 13
letra_NIF = "J"
Case 14
letra_NIF = "Z"
Case 15
letra_NIF = "S"
Case 16
letra_NIF = "Q"
Case 17
letra_NIF = "V"
Case 18
letra_NIF = "H"
Case 19
letra_NIF = "L"
Case 20
letra_NIF = "C"
Case 21
letra_NIF = "K"
Case 22
letra_NIF = "E"
End Select

Return letra_NIF
End If
End Function
End Class
  #23 (permalink)  
Antiguo 06/05/2008, 14:59
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Quita esto q te voy a marcar, va?
Código HTML:
</asp:TextBox>
<asp:Button id="Button1"
onclick="Calcular_NIF" <<=== ESTO NO VA
Runat="server"
BorderWidth="2px"
BorderStyle="Solid"
BackColor="White"
ForeColor="Black"
Text="Enviar" Height="26px"></asp:Button> 
y tmb esto en tu Código
Código:
Partial Class CalculoNIF
Inherits System.Web.UI.Page

Public label1 As Label
Public tbDNI As TextBox
Public Button1 As Object 
Eso no lo necesitas
  #24 (permalink)  
Antiguo 06/05/2008, 16:54
 
Fecha de Ingreso: agosto-2007
Mensajes: 15
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problemas con aplicacion asp.net

Nada sigue dandome error

Mensaje de error del compilador: BC30451: No se ha declarado el nombre 'Label1'.

Error de código fuente:



Línea 7:
Línea 8: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Línea 9: Label1.Text = "Ejemplo de Programación WebForm ASP .NET (VB)"
Línea 10: End Sub
Línea 11:
  #25 (permalink)  
Antiguo 07/05/2008, 09:06
Avatar de jlbautista  
Fecha de Ingreso: enero-2007
Ubicación: Durango, Méx.
Mensajes: 175
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Recomendación: SER UN POCO MAS INTUITIVO.

'Label1' como tal no existe... pero existe un 'label1'... ¿cual es la diferencia?
EXACTO !! la primera 'L' es minúscula en el q tú tienes declarado en tu WebForm.

Incluso, te doy otro consejo: Elimina tu Form, con todo todo todo lo q tengas...
Abres tu pestaña de EXPLORADOR DE SOLUCIONES, click derecho en tu Proyecto y AGREGAR UN NUEVO ELEMENTO... Agregas un WebForm, le pones el nombre q desees... y Cuando lo tengas en modo de diseño solo agregas los 3 elementos q te indiqué, sin más ni más... solo le cambias la propiedad ID al TextBox por 'tbDNI'
Te vas al código y pegas el q te postee, F6 (compilas) y espero q no marque más errores... va???

Saludos
  #26 (permalink)  
Antiguo 13/05/2008, 12:36
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Problemas con aplicacion asp.net

Creo que lo acabo de ver:

Cambia esto:

<%@ Page Language="vb" Inherits="primera" src="proyecto.aspx.vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Por esto:
<%@ Page Language="vb" Inherits="CalculoNIF" src="proyecto.aspx.vb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

Contando con que esta pagina se llame proyecto.aspx y la otra proyecto.aspx.vb

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:03.