在 ASP.NET 中使用 jQuery.load() 方法

今天就让我们看看在 ASP.NET 中使用 jQuery.load() 方法来调用 ASP.NET 的方法,实现无刷新的加载数据。

使用 jQuery 的朋友应该知道可以使用 jQuery.load() 加载静态页面,并可指定要加载的区域,如在"test.html"中有如下内容:

<div id="show">
    <a href="http://www.jquery001.com/">jQuery001</a>
</div>

<div>
    <a href="http://www.xxx.com/">xxx</a>
</div>

在调用页面"Default.aspx"如下:

<body>
    <div id="result"></div>
</body>

$(document).ready(function() {
    $("#result").load("test.html #show");
});

相信大家能够想像到输出的结果,这样调用只会加载 id 为"show" 的 div 中的内容。下边我们进入本文的主题,看看在 ASP.NET 中怎么使用 jQuery.load() 方法无刷新的调用后台方法。假如有后台代码如下,它根据 "owner" 参数,绑定rptTest:

public partial class _Default : System.Web.UI.Page
{
    public List website;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SetTestData();

            if (!string.IsNullOrEmpty(Request.QueryString["owner"]))
            {
                rptTest.DataSource = website.Where(m => m.Owner == Request.QueryString["owner"]);
                rptTest.DataBind();
            }
        }
    }

    public void SetTestData()
    {
        website = new List();
        website.Add(new Website() { Name = "Google+", Owner = "Google" });
        website.Add(new Website() { Name = "Youtube", Owner = "Google" });
        website.Add(new Website() { Name = "265.com", Owner = "Google" });
        website.Add(new Website() { Name = "asp.net", Owner = "Microsoft" });
        website.Add(new Website() { Name = "MSN", Owner = "Microsoft" });

    }

    protected void btnTest_Click(object sender, EventArgs e)
    {

    }

}

public class Website
{
    public string Name { get; set; }
    public string Owner { get; set; }
}

前台代码如下,执行 "btnTest" 单击事件时,使用 event.preventDefault()阻止了按钮的默认执行方式,从而使用 jQuery.load() 方法传递了"owner"参数访问 Default.aspx 页面:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script src="js/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("#result").load("test.html #show");

            $("#<%= btnTest.ClientID %>").click(function(event) {
                event.preventDefault();
                var owner = $("#<%= ddlTest.ClientID %>").val();
                $("#result").load("Default.aspx?owner=" + owner + " #show");
            });
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div id="show">
            <asp:Repeater ID="rptTest" runat="server">
                <ItemTemplate>
                    <div><%#Eval("owner") %>:<%#Eval("Name") %></div>
                </ItemTemplate>
            </asp:Repeater>
        </div>
    <%=DateTime.Now %>
    <div id="result"></div>
    <asp:DropDownList ID="ddlTest" runat="server">
        <asp:ListItem Value="Google">Google</asp:ListItem>
        <asp:ListItem Value="Microsoft">Microsoft</asp:ListItem>
    </asp:DropDownList>
    <asp:Button ID="btnTest" runat="server" Text="查询" onclick="btnTest_Click" />
    </form>
</body>

其他没有什么新知识,其中输出了当前时间来验证使用这种方法并没有刷新页面,结果如下图所示:

在 ASP.NET Webform 中适当使用这种方式可减少页面刷新,从而提高用户体验。你可以从 jQuery学习直接下载在 ASP.NET 中使用 jQuery.load() 方法

http://www.jquery001.com/jquery-load-in-asp-net.html

时间: 2024-09-30 16:54:34

在 ASP.NET 中使用 jQuery.load() 方法的相关文章

jquery load() 方法 语法

jquery load() 方法 语法 作用:当指定的元素(及子元素)已加载时,会发生 load() 事件.该事件适用于任何带有 URL 的元素(比如图像.脚本.框架.内联框架).根据不同的浏览器(Firefox 和 IE),如果图像已被缓存,则也许不会触发 load 事件.还存在一个名为 load() 的 jQuery Ajax 方法,根据不同的参数而定.无锡大理石测量平台 语法:$(selector).load(function(){}) 参数: 参数 描述 function     必需.

asp.net中导出Execl的方法

一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,\t分隔的数据,导出 execl时,等价于分列,\n等价于换行. 1.将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中.   Response.Clear();       Response.Buffer=  

ASP.NET 中DataGrid item 绑定方法

<Columns> <asp:TemplateColumn HeaderImageUrl="../../Images/delete.GIF"> <HeaderStyle Wrap="False" Width="20px"></HeaderStyle> <ItemTemplate> <asp:CheckBox runat="server" ID="cbx

ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)

一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所 以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session_Start即新会话启用时获取有关的信息,同时在这里实现在线人数.访问总人数的增量统计

ASP.NET中几种加密方法

下面就是ASP.NET中几种加密方法.加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样. MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙

在asp.net 中生成PDF的方法

近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsharp)下载,然后在工程中引用该控件,举例子如下 1  datatable 的内容转换为PDF      首先,建立一个datatable转换为pdf的方法如下 using iTextSharp;using iTextSharp.text;using iTextSharp.text.pdf;using

ASP.NET中使用jQuery插件实现图片幻灯效果

参照网上的资料及提供的jQuery插件实现图片幻灯效果. 1.页面前台代码: //头部引用 <head runat="server"><title></title><script type="text/javascript" src="scripts/jquery/jquery-1.10.2.min.js"></script><script type="text/java

解决IE中无法使用jquery.find方法解析xml字符串的方法

getResult:function(data){ data=data.replace(/"/g,"'"); var xml; //解决办法 if( typeof data == "string" ){ xml = new ActiveXObject("Microsoft.XMLDOM"); xml.async = false; xml.loadXML(data); } else { xml = data; } var resultOb

ASP.NET中使用Server.Transfer()方法在页间传值 实例

以下代码在VS2008中测试通过 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebForm1.aspx.cs" Inherits="WebForm1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3