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

Duda de principiante en ASP.Net

Estas en el tema de Duda de principiante en ASP.Net en el foro de ASPX (.net) en Foros del Web. Hola amigos, estoy recien incorporandome al asp.net y tengo una duda que debe ser del mas principiante de los principiantes.. Segun tengo entendido, en .Net ...
  #1 (permalink)  
Antiguo 03/05/2006, 13:21
Avatar de Allende  
Fecha de Ingreso: octubre-2003
Ubicación: La Habana
Mensajes: 54
Antigüedad: 20 años, 6 meses
Puntos: 0
Duda de principiante en ASP.Net

Hola amigos, estoy recien incorporandome al asp.net y tengo una duda que debe ser del mas principiante de los principiantes..

Segun tengo entendido, en .Net en la pagina .aspx solamente debe ir codigo HTML y en la aspx.vb iria el; codigo ASP.Net asociado a la misma. Bien, en ASP clasico si yo queria una lista de valores extraidos de una BD sinplemente ponia en la posicion fisica que queria, dentro del codigo HTML, mi codigo ASP que lo generaba.

Mi duda es ahora en ASP.NET, si quiero que mi pagina me muestre un listado de Categorias y Subcategorias anidadas, por ejemplo. Lo que hago es en el Load de la pagina declaro mi Connection, sqlDataAdatper y mi sqlDataSet. Lleno este ultimo....pero el lio se me forma a la hora de poner este resultado en mi pagina .aspx
No se como ubicar fisicamente los resultados, como hago referencia a los objetos que tengo creado en la pagina aspx.vb


Se que quizas es un rollo lo que acabo de escribir....ojala me entiendan

salu2 y 1000 gracias
  #2 (permalink)  
Antiguo 04/05/2006, 01:28
 
Fecha de Ingreso: abril-2006
Mensajes: 166
Antigüedad: 18 años
Puntos: 0
Mensaje

Hola.

En ésta parte del código te digo como conectarte a una base de datos de SQL Server y como mostrar el 1º registro de ésta. Utilizo un datatable en vez del dataset. El nombre de la base de datos del ejemplo es "Proyecto1":

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Establecer la conexión
conexion_bdsql = New SqlConnection("data source=PC-DESARROLLO4;initial catalog=Proyecto1;user id=sa")
conexion_bdsql.Open()
'Creamos la data table
dt_tempresa = New DataTable
' Crear un nuevo objeto del tipo DataAdapter
da_tempresa = New SqlDataAdapter("SELECT * FROM TEmpresa ORDER BY CIF", "data source=PC-DESARROLLO4;initial catalog=Proyecto1;user id=sa")
' Crear los comandos de insertar, actualizar y eliminar
Dim cons_com As New SqlCommandBuilder(da_tempresa)
' Llenar la datatable con los datos indicados
da_tempresa.Fill(dt_tempresa)

With Me
'Mostrar el 1º registro
Dim dr_tpersona As DataRow = dt_tempresa.Rows(0)

.txtcif.Text = dr_tpersona("CIF").ToString
.txtnombre.Text = dr_tpersona("Des_NombreEmp").ToString
.txtpueblo.Text = dr_tpersona("Des_Pueblo").ToString
End with

Lógicamente, para probar este ejemplo habrás tenido que crear los textbox txtcif,txtnombre y txtpueblo.

Espero que te haya servido.


Un saludo.
  #3 (permalink)  
Antiguo 04/05/2006, 06:00
Avatar de Allende  
Fecha de Ingreso: octubre-2003
Ubicación: La Habana
Mensajes: 54
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola, ante todo muchas gracias.
Si, entiendo todo el codigo que me pusiste, pero mi duda esta en cuando quiero hacer algo similar, pero sin tener ningun Web Control en mi pagina .aspx.
Mas especificamente, quiero hacer un índice de categorias y subcategorias, pero que me queden anidadas...como en una tienda online. En ese caso no puedo utilizar labels.
...me entienes?


muchas gracias nuevamente
  #4 (permalink)  
Antiguo 04/05/2006, 08:31
Avatar de rodri  
Fecha de Ingreso: febrero-2005
Mensajes: 406
Antigüedad: 19 años, 2 meses
Puntos: 2
Yo creo que tendrías que tener ambos indices (en realidad yo lo haría con DropDownLists) el primero enlazado a la Base, luego del DataBind del primero, hacer la consulta para el segundo dropdown pero con una restricción: debido a que quieres enlazarlos, debes poner en tu query (o storedprocedure) una restricción relacionada al código elegido del primer dropdown, es decir:

"select * from tabla2 where tabla2.codigoTabla1 = "+DropDownList1.SelectedValue;

donde Tabla1 relacionada con Dropdownlist1 y Tabla2 relacionada con Dropdownlist2

y el resultado cargarle al DropDownList2 y hacer el DataBind correspondiente.

espero que te haya servido

saludos
__________________
0.o Rodri
  #5 (permalink)  
Antiguo 04/05/2006, 09:22
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
En asp.net puedes programar en

Page.aspx
page.aspx.vb o cs (en caso de que utilices c#)

en asp tradicional solo se programa a modo de scripts en html.
en asp.net:
Page.aspx (Programacion inline o en linea algo similar al asp)
Page.aspx.vb (Programacion code behind, que es una de las novedades de asp.net )

Es decir si puedes programar en el html, voy a tratar de poner un ejemplo como podrias hacer lo que quieres.
Código HTML:
<%@import namespace="System.Data"%>
<%@import namespace="System.Data.SqlClient"%>
<%@import namespace="System.Configuration.ConfigurationSettings"%>
<%@ Page Language="vb"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
	<HEAD>
		<title>Demo</title>
		<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body MS_POSITIONING="FlowLayout">
				<%
 		Dim sqlQuery As String = "spRooms_GetAvailability"
		Dim sqlConn As New SqlConnection(AppSettings("ConnectionString"))
		Dim sqlComm As New SqlCommand(sqlQuery, sqlConn)
		sqlComm.CommandType = CommandType.StoredProcedure
		Dim sqlAdapter As New SqlDataAdapter(sqlComm)
		Dim ds As New DataSet("Availability")
		sqlAdapter.Fill(ds)
		ds.Tables(0).TableName = "RoomTypes"
		ds.Tables(1).TableName = "Plan"

		Dim ParentCol As DataColumn = ds.Tables(0).Columns("TypeID")
		Dim ChildCol As DataColumn = ds.Tables(1).Columns("TypeID")
		Dim relation As New DataRelation("RoomTypes_Plan", ParentCol, ChildCol)
		relation.Nested = True
		ds.Relations.Add(relation)
	%>
	
	<UL>
	<%		
		For Each row As DataRow In ds.Tables("RoomTypes").Rows
			Response.Write("<LI>")			
			Response.Write(row("Name"))
			Dim cRows() As DataRow = row.GetChildRows("RoomTypes_Plan")			
			If cRows.Length > 0 Then
				Response.Write("<UL>")			
				For Each cRow As DataRow In cRows
							Response.Write("<LI>")
							Response.Write(cRow("Description"))
							Response.Write("</LI>")
				Next
				Response.Write("</UL>")			
			End If
			Response.Write("</LI>")			
		Next
  %>
	</UL>

	</body>
</HTML> 
Espero me entiendas
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 22:03.