Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ASP
 NavigateUrl
 Foro Bloqueado  Tema Bloqueado


Autor Temas
anama22
Starting Member

Argentina
8 Posts
Mensajes - 12 Jan 2008 :  21:15:15  Ver Perfil  Enviar Email
Hola, tengo un problema haber si me pueden ayudar a resolverlo. Tengo un webform y dentro un la siguiente linea:
<li><asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("Descripcion") %>' NavigateUrl='<%# "LeyesContenido.aspx?Contenido=" & Eval("Tipo")& Eval("Anio")& Eval("Numero") %>'></asp:HyperLink> </li>

Que pasa, cuando hago click sobre este item a la direccion que me lleva es por ej:
http://localhost:1134/WebSite2/LeyesContenido.aspx?Contenido=Ordenanza20024808

Lo que yo necesitaría es que me quede la cadena "Ordenanza20024808" separada de tal forma que me permita tomar estos datos como consulta parametrizada.


Bueno, espero puedan darme una mano.

slds,

DonGato
Moderator

España
263 Posts
Posted - 14 Jan 2008 :  12:50:11  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
Por qué no mandas varias variables en lugar de una sola?
es decir, construye el enlace de la siguiente manera:
...LeyesContenido.aspx?Contenido=" & Eval("Tipo")& "&anio=" & Eval("Anio") & "&numero=" & Eval("Numero") %>
de esta forma te saldrá algo tal que así en el enlace:
http://localhost:1134/WebSite2/LeyesContenido.aspx?Contenido=Ordenanza&anio=2002&numero=4808.
Tambien, si conoces el tamaño de TIPO puedes usar mid y partir la cadena, es decir:
tipo=mid(contenido,1,2)
if tipo = "Or" then
tipo="Ordenanza"
anio=mid(contenido,9,4)
numero=mid(contenido13,4)
end if
if .....
end if

No sé si he contado bien la posicion de los caracteres, pero lo que quiero es que te hagas una idea.
repite ese If con tantos tipos como tengas, aunque creo que esta opcion es peor que la anterior.


Edited by - DonGato on 14 Jan 2008 12:52:04Inicio Pagina

anama22
Starting Member

Argentina
8 Posts
Posted - 16 Jan 2008 :  00:58:28  Ver perfil  Enviar e-mail
Hola disculpa la demora, ya lo he hecho de la siguiente forma:
<li><asp:HyperLink ID="HyperLink1" runat="server" Text='<%# Eval("Descripcion") %>' NavigateUrl='<%# "LeyesContenido.aspx?Tipo=" & Eval("Tipo")& "&Anio="& Eval("Anio")& "&Numero="& Eval("Numero") %>'></asp:HyperLink> </li>

Con lo cual al hacer click en la dirección obtengo esta url:
http://localhost:1134/WebSite2/LeyesContenido.aspx?Tipo=Ordenanza&Anio=2002&Numero=4808

Hasta ahí todo bien, sólo que en la pagina LeyesContenido.aspx, me da el siguiente error:

ConstraintException: No se pudieron habilitar las restricciones. Una o varias filas contienen valores que infringen las restricciones NON-NULL, UNIQUE o FOREIGN-KEY.]
System.Data.DataTable.EnableConstraints() +1808933
System.Data.DataTable.set_EnforceConstraints(Boolean value) +39
System.Data.DataTable.EndLoadData() +138
System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +218
System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +318
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +221
System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162
System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +107
LeyesTableAdapters.LeyTableAdapter.GetDataByLey(String Tipo, Int32 Anio, Int32 Numero) in C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\website2\11eb7dba\3feb484f\App_Code.dnoptoti.4.vb:2278
LeyBLL.GetDataByLey(String Tipo, Int32 Anio, Int32 Numero) in C:\ProyWeb\WebSite2\App_Code\BLL\LeyBLL.vb:35

[TargetInvocationException: Se produjo una excepción en el destino de la invocación.]
System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +0
System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) +72
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) +358
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +29
System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) +482
System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +2040
System.Web.UI.WebControls.BaseDataList.GetData() +53
System.Web.UI.WebControls.DataList.CreateControlHierarchy(Boolean useDataSource) +284
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e) +56
System.Web.UI.WebControls.BaseDataList.DataBind() +72
System.Web.UI.WebControls.BaseDataList.EnsureDataBound() +55
System.Web.UI.WebControls.BaseDataList.CreateChildControls() +63
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +41
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Control.PreRenderRecursiveInternal() +161
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360

Cosa que no entiendo ya que he seteado EnforceConstraints=False

y la funcion es:
<System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, False)> _
Public Function GetDataByLey(ByVal Tipo As String, ByVal Anio As Int32, ByVal Numero As Int32) As Leyes.LeyDataTable
Return Adapter.GetDataByLey(Tipo, Anio, Numero)
End Function

Si puedes darme una mano, talvéz es algo de novata... y si... lo soy!


Inicio Pagina

Carlitos
Moderator

Chile
881 Posts
Posted - 17 Jan 2008 :  20:01:03  Ver perfil  Enviar e-mail
proban

Carlitos ayuda a sus amigos!!Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 18 Jan 2008 :  13:27:21  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
a ver, esto es .net, y de veras que no tengo ni idea. Es más para empezar a pensar lo que te puede pasar necesito que me expliques una cosa, a simple vista yo veo que con el enlace:
http://localhost:1134/WebSite2/LeyesContenido.aspx?Tipo=Ordenanza&Anio=2002&Numero=4808
lo que pretendes es abrir un documento, concretamente el 4808, y con TIPO y AÑO consigues navegar por un arbol de directorios, de forma que montas la ruta del documento, que en este caso sería:
ordenanza/2002/4808
Corrigeme si me equivoco.

Inicio Pagina

anama22
Starting Member

Argentina
8 Posts
Posted - 26 Mar 2008 :  20:57:08  Ver perfil  Enviar e-mail
Hola, TIPO ANIO Y NUMERO son las claves de la BD para llegar al documento.
Disculpas, pero retomé el tema nuevamente.

Inicio Pagina

DonGato
Moderator

España
263 Posts
Posted - 27 Mar 2008 :  09:28:49  Ver perfil  Enviar e-mail  Visit DonGato's Homepage
entonces entiendo que lo que pasa es que estás montado mal el sql para hacer la selección del documento.
Perdona que no te pueda ayudar mucho pero al ser .net ando pez!

Inicio Pagina

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar