我正在使用 AjaxBindGridview()
在代码后面调用一个类来绑定数据库中的值。但是,它只在第一次工作,当我尝试更改 gridview 上的页面索引时,它变为空。下面是我的代码。
我曾经<%=PostBackString %>
在后面的代码上调用函数。
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "RepairStatusChart.aspx/BindRecord",
data: data,
dataType: "json",
success: function (result) {
<%=PostBackString %>
alert("Success");
},
error: function (xhr, textStatus, errorThrown) {
alert("Sorry, an unexpected error has occured.");
}
});
<%=PostBackString %>
将跳转到我的页面加载以调用BindGridview()
该类
PostBackString = Page.ClientScript.GetPostBackEventReference(Me, "MyEventArgumentName")
If IsPostBack Then
If Request("__EVENTARGUMENT") = "MyEventArgumentName" Then
BindGridview()
End If
End If
这是我的BindGridview()
课程,它将数据绑定到gridview
Protected Sub BindGridview()
Dim partnum, ddlMonthFrom, ddlYearFrom, ddlMonthTo, ddlYearTo, repaircenter, finalstatus As String
partnum = HttpContext.Current.Session("partnum").ToString()
ddlMonthFrom = HttpContext.Current.Session("ddlMonthFrom").ToString()
ddlYearFrom = HttpContext.Current.Session("ddlYearFrom").ToString()
ddlMonthTo = HttpContext.Current.Session("ddlMonthTo").ToString()
ddlYearTo = HttpContext.Current.Session("ddlYearTo").ToString()
repaircenter = HttpContext.Current.Session("rc")
finalstatus = HttpContext.Current.Session("status")
Dim strConnString As String = ConfigurationManager.ConnectionStrings("prcConnectionString").ConnectionString
Dim con As New MySqlConnection(strConnString)
Dim select1 As String = "select CountFrequency, SRNo, RefurbishedSN, ShipmentDate, PartsNo, EmployeeID, Alias, Company, PartSN, StartRepairDate, DateReceived, DateCreated, LastUpdated, EstimatedRepairCompletionDate, Status,datediff(curdate(),STR_TO_DATE(replace(DateReceived,',','-'),'%d-%M-%Y')) as Aging from testvsrparts WHERE (STR_TO_DATE(shipmentdate,'%d, %M, %Y') Between STR_TO_DATE('01, " + ddlMonthFrom.ToString + ", " + ddlYearFrom.ToString + "','%d, %M, %Y') AND STR_TO_DATE('31, " + ddlMonthTo.ToString + ", " + ddlYearTo.ToString + "','%d, %M, %Y')) " + partnum + " AND Alias ='" + repaircenter.ToString + "' AND Status ='" + finalstatus.ToString + "' ;"
Dim dt As New DataTable()
dt = conn.query(select1)
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
在这部分之前它工作得很好,但我的问题是当我尝试更改页面索引时,它变成了空的。我已经设置了GridView1_PageIndexChanged
和GridView1_PageIndexChanging
如下
Protected Sub GridView1_PageIndexChanged(sender As Object, e As EventArgs) Handles GridView1.PageIndexChanged
BindGridview()
End Sub
Protected Sub GridView1_PageIndexChanging(sender As Object, e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
BindGridview()
End Sub
这是页面索引更改前后的截图。
前
我想知道发生这种情况的原因是什么。有人可以帮我解决这个问题吗?我真的不知道如何解决这个问题。感谢你的帮助。