日期:2014-05-18  浏览次数:20408 次

Ajax前台调用后台函数
后台有个一函数
public void PendingIssues()
  {
  lblTodoList.Text = "Pending Issues(" + strCount + ")";
  }
需要使用Ajax的方式在前台显示待办数量,由于很多东西都在后台加载速度太慢了,请大虾帮个忙讲讲如何实现。

------解决方案--------------------
你这种方法只能采用asp.net自带的UpdatePanel,方法如下

<%@ Page Language="C#" AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
PendingIssues();
}
public void PendingIssues()
{
String strCount = "100";
lblTodoList.Text = "Pending Issues(" + strCount + ")";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblTodoList" runat="server" Text=""></asp:Label>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="得到" />
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>


常用的方法是采用ajax调用带返回值的方法给responseText,或者采用json格式进行处理。

------解决方案--------------------
用ajax你必须这样调用
public void PendingIssues()
{
 Response.Clear();
 Response.Write("Pending Issues(" + strCount + ")");
 Response.End();
 return;
}