今天就让我们看看在 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

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

  1. 关于IE8中使用Jquery load方法无法正常加载页面

    最近发现,在IE8中使用Jquery load方法时无法正常加载页面,页面显示空白,没有加载.调试发现,页面多了一个</div>标签,但在FF和CH下表现正常.希望能给遇到同样问题的码农有 ...

  2. 使用Jquery.load()方法,出现-此页的状态信息无效,可能已损坏。[转]

    今天遇到此页的状态信息无效,可能已损坏,在以下页面找到解决办法,特记录下来: 转自:http://www.cnblogs.com/liuwenlong/archive/2011/05/09/20410 ...

  3. jquery load() 方法 语法

    jquery load() 方法 语法 作用:当指定的元素(及子元素)已加载时,会发生 load() 事件.该事件适用于任何带有 URL 的元素(比如图像.脚本.框架.内联框架).根据不同的浏览器(F ...

  4. asp.net中导出Excel的方法

    一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...

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

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...

  6. asp.net中导出Execl的方法

    一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给 ...

  7. hiberante中get和load方法的区别

    1.从返回结果上对比: load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null 2.从检索执行机制上对比: ...

  8. ASP.NET中连接数据库的各种方法

    ASP.NET中连接数据库的各种方法 连接SQL数据库的方法:(一).在Web.Config中创建连接字符串:1.<add name="ConnectionString" c ...

  9. Hibernate中get()和load()方法区别

    get和load方式是根据id取得一个记录下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来. 1.从返回结果上对比:load方式检索不到的话会抛出org.hibernat ...

随机推荐

  1. ckedit 文本编辑器

    Ckeditor是一个功能非常强大的富文本编辑器,博客园有使用此编辑器,其功能完全可以与MS的Word媲美. 用起来也非常方便.下面是本人总结的安装步骤: 第一步,从http://ckeditor.c ...

  2. spring mvc 拦截器 拦截子目录

    项目中碰到这一个问题: 对于/user/loginpage,/user/login这一类的url,放行: 对于/user/{userId}/xxx(xxx不为空)的操作,需要拦截,url-patter ...

  3. LeetCode(43. Multiply Strings)

    题目: Given two numbers represented as strings, return multiplication of the numbers as a string. Note ...

  4. Java获取前天和后天的时间

    import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import j ...

  5. emmet常用的输入

    开始体验:输入以下简写,按tab键 html:5 html:4t html:4s html:xxs ul#nav>li.itemS*4>a{Item $} <ul id=" ...

  6. Unity3D中C#和js方法相互调用

    通过查找资料,Unity3D中C#和js要相互调用彼此的方法,js文件必须放在"Standard Assets". "Pro Standard Assets" ...

  7. 面向过程—面向对象(C++的封装,this)_内存四区_变量生命周期

    1.面向对象主要涉及  构造函数.析构函数.虚函数.继承.多态等. 2.对各种支持 的底层实现机制 c语言中,数据 和 处理数据的操作(函数) 是分开来声明,即语言本身并没有支持 “数据和函数”的关联 ...

  8. jQuery上定义插件并重设插件构造函数

    插件alert的全部代码,每个插件都定义在如下类似的作用域中: +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ========= ...

  9. coolpro2 剪切并淡出

    1.先将音乐暂停或者停止. 2.选择需要淡出的一段音乐 3.选择效果--波形振幅--渐变 4.选择Fade-out,确定

  10. poj1061-青蛙的约会(扩展欧几里德算法)

    一,题意: 两个青蛙在赤道上跳跃,走环路.起始位置分别为x,y. 每次跳跃距离分别为m,n.赤道长度为L.两青蛙跳跃方向与次数相同的情况下, 问两青蛙是否有方法跳跃到同一点.输出最少跳跃次数.二,思路 ...