Hola, estoy implementando un datepicker de jquery. Ahora mismo sólo me falta hacer que funcione el evento onSelect del mismo. Con este evento estoy intentando cargar un aspx que contiene un gridview. El problema que tengo es que me carga el aspx (me muestra un label que tengo en dicho aspx) pero no me carga el grid. Después de comprobar muchas cosas he comprobado que nunca me entra en la función page load (para comprobar si es postback ono), por lo que el grid nunca es cargado y menos rellenado. He comprobado con explorer que no haya errores de javascript y con chrome (json) que la función se cargue correctamente. ¿Alguna idea de por qué me sucede esto? Gracias desde ya.
Llamada para cargar el aspx. Lo he provado de dos maneras y con las 2 obtengo el mismo resultado. He provado con load y con $post:
Código:
function mostrardatosdia(date, inst) {
var fecha = $.format.date(date, "dd/MM/yyyy");
//mostramos los vehiculos no movidos en date
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{ fecha:'" + fecha + "'}",
url: "IntroducirBD.aspx/SetVarSessionDate",
dataType: "json",
success: function (data) {
if (data.d == "1") {
alert("Error con Fecha");
}
else {
// Cargamos el listado de vehiculos que no se han movido en el dia clicado
// $("div#divgridview").load('<%= ResolveClientUrl("Matriculas.aspx")%>');
$.post("Matriculas.aspx",
function (data) {
$("div#divgridview").html(data);
});
}
}
});
}
Matriculas.aspx
Código:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Matriculas.aspx.vb" Inherits="Web_Puntech_v2.Matriculas" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head id="Head1">
<title></title>
<link rel="stylesheet" type="text/css" href="../Styles/GridView.css"/>
<script type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="lblgv" Text="Grid View; Listado vehiculos no movidos en la fecha seleccionada" runat="server" />
<asp:gridview id="Gridview1" runat="server" EnableViewState="false" BorderWidth="1"
CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false"
DataKeyNames="Matricula" AutoGenerateDeleteButton="false" EmptyDataText="No Records Found">
<HeaderStyle BackColor="#BFD213" HorizontalAlign="Center" Font-Bold="True" ForeColor="Black" />
<Columns>
<asp:BoundField HeaderText="Matrículas" DataField="matricula" />
</Columns>
</asp:gridview>
</form>
</body>
</html>
Matriculas.aspx.vb. He puesto breakpoints para comprobar si entra o no y el código nunca es ejecutado:
Código:
Imports System
Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections.Generic
Imports System.Configuration
Imports System.Text
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Public Class Matriculas
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim cs As ConnectionStringSettings = ConfigurationManager.ConnectionStrings("MiConexion")
Dim connString As String = cs.ConnectionString
If Not Page.IsPostBack And Session("fecha_consulta") <> Nothing Then
Try
Dim dsMatriculas As New DataSet
Dim dbConnection As New SqlConnection(connString)
Dim query As String = "SELECT DISTINCT vehiculo_adapt.matricula FROM vehiculo_adapt INNER JOIN no_movido ON vehiculo_adapt.id_vehiculo = no_movido.id_vehiculo WHERE (no_movido.fecha = @fecha)"
Dim dbCommand As New SqlCommand(query, dbConnection)
dbCommand.Parameters.Add(New SqlParameter("@fecha", Session("fecha_consulta")))
Dim sqlDataAdapter As New SqlDataAdapter(dbCommand)
sqlDataAdapter.Fill(dsMatriculas)
Me.Gridview1.DataSource = dsMatriculas.Tables(0) 'llenamos el grid con los datos que tenemos en el dataset'
Me.Gridview1.DataBind()
Finally
Session("fecha_consulta") = Nothing
End Try
Else
End If
End Sub
End Class