本章的内容不仅适合 ABP, ASP.NET Core 也可以直接使用。...上面的代码同时将其默认路由的前缀设置为 api/1.0。...当然,也可以统一在 Web 中定义所有的 API 模块。...[Range]:验证属性值是否在指定的范围内。 [RegularExpression]:验证属性值是否与指定的正则表达式匹配。 [Required]:验证字段是否不为 null。...在每个 Action 中,都充满了这种写法,每个相同的验证问题,在每个 Action 返回的文字都不一样,没有规范可言。
ASP.NET AJAX 简介 ASP.NET AJAX是微软在ASP.NET 2.0之上对AJAX技术的一个封装,为Web应用程序提供完整的AJAX解决方案。...MicrosoftAjaxWebForm.js文件则是完全服务于ASP.NET AJAX页面局部更新这样一个功能的,在该文件中定义了一个客户端对象PageRequestManager,该对象将会负责客户端异步回送的全过程...ASP.NET AJAX部分呈现剖析 3.1 先从客户端讲起 看一下上面的示例代码在客户端的HTML代码, 这里只列出核心部分,其他全部隐去。...在封装这个请求的时候,当前页面的所有字段以及视图状态都会被打包在请求中,另外还设置了这次Request的HTTP头:request.get_headers()['X-MicrosoftAjax'] =...'Delta=true'; 在服务器端将会根据这个HTTP头标记来判定是否为一次AJAX异步回发。
是一组技术的集合,Asp.Net AJAX就是建立在这组技术的基础之上的。...虽然Asp.Net AJAX尽量隐藏了Ajax的技术细节,但是要想明白Asp.Net AJAX能干什么,或者说要想扩展这个框架以便创建所需要的高级应用程序,那么就必须拥有关于Ajax的一些更加深入的知识...=null) { XMLHTTP.open("GET","ajax.aspx?...中要使用Request.Form属性来进行读取,而不是针对GET请求的Request.QueryString属性。 ...项目二:建立使用Xml格式的AJAX的页面程序 1.建立一个Asp.Net程序,可以使用动态页面也可以使用静态页面,此处使用的是静态页面,名字为SimpleAjax.htm,代码如程序清单2-2所示:
在ASP.NET Core中嵌入JavaScript代码 除了引入外部的JavaScript文件,ASP.NET Core还允许在 Razor 视图或C#代码中嵌入JavaScript代码。...在ASP.NET Core中,我们可以使用AJAX从后端获取数据,并在前端显示。...当页面加载时,JavaScript代码会向后端发送一个GET请求,并将返回的数据显示在页面上。...2.2 在ASP.NET Core中使用AJAX进行后端通信 在ASP.NET Core中使用AJAX进行后端通信是一种常见的做法,可以实现异步数据传输和动态页面更新。...当页面加载完成时,JavaScript代码将向/api/user发送一个GET请求,获取用户信息。成功获取到数据后,我们将用户信息显示在页面上的userInfo div中。
在最初学习Ajax的日子里,我被ASP.NET AJAX框架提供的UpdatePanel迷惑了,以后Ajax就这么简单,所以在最初做的几个项目里,前台代码里必至少有一个UpdatePanel区域,把要局部刷新的内容全放到这个...; 幸运的是,我们强大的JQuery库为我们封装了许多Ajax操作,在JQuery中$.ajax()属于最底层的方法,第2层则是load,get,post方法,第3层是getScript和getJSON...$("#resText").load("test.htm"); }); }); 通过设置id为send的按钮点击事件,在id为resText的div中加载...参考一篇博文:http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html,这里面主要讲了在ASP.NET中JSON的序列化与反序列化。...即使在表单中增加多个字段,脚本仍然能够使用,并且不需要做其他多余的工作。
用于 ASP.NET 的 AJAX 手头的 AJAX AJAX 与您 结论 简介 自从开始 Web 编程以来,在 Web 应用程序和桌面应用程序之间一直存在着许多取舍。...Microsoft ASP.NET 2.0 通过客户端回调功能(英文)引入了独具特色的异步回调,并且最近宣布(英文)代号为“Atlas”的 AJAX 正在实现中。...-- Register the ajax handler --> GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory...Ajax.NET 自动创建与注册的类具有相同名称的 JavaScript 变量(在本例中将为 Sample),它提供与 AjaxMethod 具有相同名称的函数(在本例中为 GetMessageOfTheDay...就个人而言,我见过的最佳的 AJAX 实现非常轻便合适。您自己的实现应为您的用户提供同样积极的体验。但是,对于某个具体问题,记住 AJAX 可能不是唯一的解决方案,也可能不是最佳的解决方案。
在 JavaScript 当前广泛使用的版本中,它缺少 .NET 开发人员所熟悉的几个 OOP 的关键概念,而 ASP.NET AJAX 可以模拟其中的大多数,而且 ASP.NET AJAX 的目标是将使用....NET 的开发人员所熟悉的某些其他构造(例如属性、事件、枚举和接口)转换成 JavaScript.ASP.NET AJAX 中的反射 API 将检查所有类型(无论是内置类型、类、接口、命名空间、或者甚至是枚举...Type.registerNamespace('AjaxControlToolkit'); //定义命名空间 //在 ASP.NET AJAX 中定义类,您需要将其构造函数赋给变量(注意,构造函数如何调用基础函数..._ConfirmTextValue = null; // Click handler for the target control this....AJAX]类似.NET框架的JavaScript扩展
// 异常:System.ArgumentNullException:httpContext 参数为 null。...// 异常:System.ArgumentNullException: // httpContext 参数为 null。...if(userInfo==null) { //信息为null,一般认为登陆超时或没有登陆 } if...主动注入:用户将含有恶意脚本的内容输入到页面文本框中,然后在屏幕上显示出来。...使用限制: 客户端浏览器不能禁用cookie 只对post请求有效 若有XSS漏洞,则可轻易获取令牌 对Ajax请求不能传递令牌,即对Ajax无效 3)使用幂等的Get请求,仅使用Post请求修改数据(
不过客户对“用户体验”的要求是“与日俱增”的,很多被“惯坏了”的用户已经不能忍受Postback带来的页面刷新,所以Ajax在企业级Web应用中得到了广泛的应用。...一、一个简单的基于CRUD的Web应用 在《通过ASP.NET Web API + JQuery创建一个简单的Web应用》中,我采用jQuery + ASP.NET Web API构建了一个单纯的对单一数据进行...当页面加载的时候,所有的联系人列表被列出来。在同一个页面中,我们可以添加一个新的联系人,也可以修改和删除现有联系人信息。整个应用唯一的页面在浏览器中的呈现效果如下图所示。 ?...按照注册的路由规则和Action方法名称与HTTP方法的默认影射机制,我们可以直接在浏览器中分别访问地址“/api/contacts”和“/api/contacts/001”得到所有联系人列表和ID为“...三、通过jQuery进行Ajax调用,利用Knockout.js进行数据绑定 我们通过ASP.NET MVC来构建Web应用,默认的HomeController定义如下,默认的Index操作仅仅是将默认的
Core 中的 Action 注解 类比 ASP.NET Core template 为路由规则,比如 \{:name}\{:id} TODO: ASP.NET Core路由规则中参数有没有 : 不确定...A: @Controller 会将方法返回值类型为String 的解析为一个路径(视图路径),这是由于SpringMvc 的原因,(拦截解析为视图路径) 在方法上注解 @ResponseBody 将返回的数据转换成...json 格式数据 当直接在controller 类上注解 @RestController 就相当于ASP.NET WebAPI 中的 ApiController ,框架认为你将使用json风格数据,...参考: 为什么浏览器在AJAX请求返回后不会设置Cookie?...但是,浏览器在收到响应后不会设置Cookie!当我导航到我的域中的另一个网页时,不发送Cookie。 (注意:我没有做任何跨域的ajax请求;请求与文档在同一个域中。)
ASP.NET Web API是在.NET Framework之上构建Web API的框架。在本教程中,您将使用ASP.NET Web API创建返回产品列表的Web API。...在“ 模板 ”窗格中,选择“已安装的模板”并展开Visual C#节点。在Visual C#下,选择Web。在项目模板列表中,选择ASP.NET Web应用程序。...Price { get; set; } } } 添加控制器 在Web API中,控制器是处理HTTP请求的对象。...例如,要获得ID为5的产品,URI为api/products/5。 有关Web API如何将HTTP请求路由到控制器方法的更多信息,请参阅ASP.NET Web API中的路由。...使用Javascript和jQuery调用Web API 在本节中,我们将添加一个使用AJAX调用Web API的HTML页面。我们将使用jQuery来进行AJAX调用,并且还可以使用结果更新页面。
同源策略以及跨域资源共享在大部分情况下针对的是Ajax请求。同源策略主要限制了通过XMLHttpRequest实现的Ajax请求,如果请求的是一个“异源”地址,浏览器将不允许读取返回的内容。...,当ASP.NET Web API采用内容协商机制选择出与当前请求相匹配的MediaTypeFormatter后,会调用此方法来创建真正用于序列化响应结果的MediaTypeFormatter对象。...二、将JsonpMediaTypeFormatter的应用到ASP.NET Web API中 接下来我们通过于一个简单的实例来演示同源策略针对跨域Ajax请求的限制。...我们的目的在于:当页面成功加载之后以Ajax请求的形式调用上面定义的Web API获取联系人列表,并将自呈现在页面上。...如下面的代码片断所示,我们直接调用$.ajax方法并将dataType参数设置为“jsonp”。
代码中不会随意的插入Javsscript代码,只在标签中加一些额外的属性值,然后被引用的脚本文件识别和处理; 二是通过脚本文件所增加的功能是一种渐进式的增强,当客户端不支持或禁用了Javsscript...二、ASP.Net MVC下的两种AJAX方式 2.1 使用JQuery AJAX方式 首先,在ASP.Net MVC中使用此种方式跟普通的WebForm的开发方式是一致的,需要注意的是:Url地址不同...(2)在Ajax开发中要注意Ajax方法体内的参数设置正确,特别是参数名要和Action中的参数名保持一致; (3)如果在Action中为其设置了[HttpPost]或[HttpGet],那么提交方式要跟...Action打的标签一致; 2.2 使用Microsoft AJAX方式 在ASP.Net MVC中除了可以使用JQuery AJAX外,Microsoft为我们提供了另一套实用且更简单的AJAX方案...三、为AOP而生 — ASP.Net MVC默认的过滤器 3.1 过滤器初步 大一点的项目总会有相关的AOP面向切面的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中Action在执行前或者执行后我们想做一些特殊的操作
在《通过扩展让ASP.NET Web API支持W3C的CORS规范》中我们通过自定义的HttpMessageHandler为ASP.NET Web API赋予了跨域资源共享的能力,具体来讲,这个自定义的...接下来我们通过实例演示如何利用ASP.NET Web API自身的支持来实现“跨域资源共享”。 ? 如图右图所示,我们利用Visual Studio在同一个解决方案中创建了两个Web应用。...我们依然沿用上面这个通过跨域Ajax请求获取联系人列表的这个例子,我们右键选种WebApi项目并在上下文菜单中选择“管理NuGet包(Manage NuGet Package)”,在弹出的如左图所示的对话框中...,这个特性类型为System.Web.Http.Cors.EnableCorsAttribute,它定义在程序集System.Web.Http.Cors.dll中。...我们的目的在于:当页面成功加载之后以Ajax请求的形式调用上面定义的Web API获取联系人列表,并将自呈现在页面上。
以用户登录场景为例,我们在通过Visual Studio的ASP.NET MVC项目模板创建的Web应用中定义了如下一个简单的数据类型LoginInfo封装用户登录需要输入的用户名和密码。...基于HTTP-POST的Index方法上应用了HandleErrorActionAttribute特性用于指定一个Handle-Error-Action名称,当异常在目标Action执行过程中抛出并通过...在该View中,作为Model的LoginInfo对象以编辑默认呈现在一个表单中,表单中提供了一个“登录”提交表单。除此之外,View中还具有个ValidationSummary。...对于Ajax请求来说,我们最终会将通过EntLib处理后的异常封装成如下一个类型为ExceptionDetail的对象。...public string StackTrace { get; set; } 19: public string Type { get; set; } 20: } 当客户端接收到回复的Json
Microsoft ASP.NET Futures May 2007,这是一个Future的好东西,包括了:ASP.NET AJAX Futures,Silverlight Controls for ASP.NET...今天尝试了一下Silverlight Controls for ASP.NET中的Xaml Control,Xaml Control是一个Asp.net AJAX扩展控件,使用这个控件就可以不需要引用silverlight.js...Js脚本可以按照ASP.NET AJAX JavaScript库进行面向对象的编程。...在下面内容之前建议你先看下面两篇文章: 更新Silverlight ctp到Silverlight beta 1.0 ASP.NET AJAX 控件开发基础 下面这个例子是对Silverlight1.0SDK..._designer.initializeComponent(this.get_element()); var now = new Date(); var hourAnimation = this
本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》...返回类型为JavaScriptResult的Action方法一般用于处理Ajax请求。...在通过Visual Studio的ASP.NET MVC项目模板创建的空Web应用中定义一个ShoppingCart类表示购物车。...在一个以Ajax请求提交的表单(表单的Action属性对应着上面定义的Action方法ProcessOrder)中显示了购物车中的商品和数量,用于可以修改订购数量并通过点击“提交订单”按钮以Ajax请求的方式提交订单...但是对于后台程序来说,数据却是通过一个基于某种CLR类型的对象来承载,当客户端调用某个Action方法并希望以JSON的格式返回请求的数据时,ASP.NET MVC需要有一种机制将CLR对象转换成JSON
一、区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area)。 ? ...当创建具有模板页的内容页的时候,内容页就呈现在模板页中@RenderBody()所在的位置,一个模板页中只能有一个@RenderBody()。 ...当然,在实际应用中,我们可能会从数据库中读取数据集合,并对其进行增删查改及各种查询操作。...其对应的JS语句为:可以看到,我们通过api/Product调用了API控制器中的GetAllProducts方法,获取了所有产品信息。...(2)游响云停,《ASP.NET MVC3细嚼慢咽-(2)模板页 》,http://blog.csdn.net/zx13525079024/article/details/8301943 (3)李林峰
当readyState值为0、1或2时,responseText包含一个空字符串。当readyState值为3(正在接收)时,响应中包含客户端还未完成的响应信息。...当服务器响应时,在接收消息体之前,如果存在任何消息体的话,XMLHttpRequest对象将把readyState设置为3(正在接收中)。当请求完成加载时,它把readyState设置为4(已加载)。...当readyState值为1时,你可以在调用open()方法后调用这个方法;否则,你将得到一个异常。 ...因为这个请求使用的是HTTP GET方法,所以,你可以在不指定参数或使用null参数的情况下调用send()方法。...xmlHttpReq.send(null); 五、 处理请求 在这个示例中,因为HTTP方法是GET,所以在服务器端的接收servlet将调用一个doGet()方法,该方法将检索在URL中指定的catalogId