【发布时间】:2013-02-28 15:46:41
【问题描述】:
我有 2 个文本框控件,在页面加载时使用 j-query 预填充了一些默认日期。因此,当页面加载时,我的 GridView 应该根据这两个文本框控件中的日期加载一些数据。但问题是 GridView 没有在页面加载时加载任何数据,但是只有在我单击填充 gridview 的 Generate Report 按钮后才加载 gridview 。我试图调用从页面加载填充网格视图的函数,但它没有帮助。所以我发现这段代码触发了按钮点击事件,它似乎正在工作,但问题是它一直在循环......请帮助我接受任何建议。谢谢 这是触发 btnClick 事件但它一直在循环的 j-query..
<script type="text/javascript">
$(document).ready(function(){
//this calls the btnClick event but it is looping..
$("[id*='btnClick']").click();
});
</script>
这是我在页面上的其他代码
<%@ Page Title="My Metrics" ClientIDMode="Static" Language="C#" MasterPageFile="~/Site.master" MaintainScrollPositionOnPostback="true" AutoEventWireup="true"
CodeFile="Summary.aspx.cs" Inherits="About" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<link href="Styles/ui-lightness/jquery-ui-1.8.23.custom.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-ui-1.9.2.custom.min.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.datepicker.js" type="text/javascript"></script>
//here is the jquery that populates my textbox controls
<script type="text/javascript">
$(document).ready(function () {
$("#txtStartClosingDate").datepicker();
$("#txtEndClosingDate").datepicker();
var startdate = new Date();
startdate.setMonth(startdate.getMonth() - 1, 1);
$("#txtStartClosingDate").datepicker("setDate", startdate);
var endDate = new Date(); // current date
endDate.setDate(1); // going to 1st of the month
endDate.setHours(-1);
$("#txtEndClosingDate").datepicker("setDate", endDate);
});
</script>
【问题讨论】:
-
您的按钮会触发回发吗?如果是这样,您的代码将无休止地执行:调用点击、回发、加载页面、调用点击、回发、加载页面等...
-
为什么不将按钮点击的逻辑移动到页面加载中,或者在页面加载和按钮点击时调用它,这样您就不必第一次物理点击按钮
-
我将按钮点击逻辑移到了我的页面加载中,但它仍然没有帮助。我认为我的页面在填充 2 个文本框控件之前加载速度更快。
-
啊,对了,所以你也用 jquery 填充你的日期选择器 - 为什么不把它也移到后面的代码中,然后你可以设置它们,然后在页面加载时显示结果,把它包装在一个 not page.ispostback 并且它不会干扰您的按钮点击
-
我只知道如何使用 jquery..