栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

.NET AJAX调用ASMX还是ASPX或ASHX?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

.NET AJAX调用ASMX还是ASPX或ASHX?

我认为scriptService东西是asp.net中的隐藏宝石。调用脚本服务不会回传表单数据+ viewstate,它们是精简,快速的JSON有效负载。

最好的部分是,ASP.NET3.5的scriptmanager可以为您完成有关生成JS方法供您调用以及设置所需的任何JS类的大部分工作。

假设Person是C#类的一个简单示例,用于获取“ Person”的详细信息。

在PersonService.asmx中:

namespace MyProj.Services {  [System.Web.script.Services.scriptService]  [System.Web.script.Services.GeneratescriptType(typeof(Person))]   public class PersonService : System.Web.Services.WebService  {    [WebMethod, scriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]    public Person GetPersonDetails(int id)    {            }  }}

在DetailsPage.aspx中

<asp:scriptManager ID="scriptManager1" runat="server"> <Services>  <asp:ServiceReference Path="~/Services/PersonService.asmx" /> </Services></asp:scriptManager>

通过使用这样的设置,您甚至不需要JQuery的帮助就可以调用服务并获取C#Person类的JS版本,.net可以为您完成所有这些工作。在JS中使用此服务的示例如下:

MyProj.Services.PersonService.GetPersonDetails(id, _onDetailsCallbackSuccess, _requestFailed, null);_onDetailsCallbackSuccess: function(result, userContext, methodName) { //all persons properties are now intact and available document.getElementById('txtFirstname').value = result.Firtname;}

无论如何,值得研究一下ASP.NET Ajax scriptService的东西。即使您这次决定不使用它,它也是一个非常邪恶的功能。

链接

  • 看起来像一个使用脚本服务的基本示例:http : //www.jankoatwarpspeed.com/post/2008/05/14/asp-net-ajax-basics-calling-scriptservices-using-javascript.aspx
  • ASP.NET Ajax Extenders,将Ajax集成到控件中的下一个逻辑步骤。http://weblogs.asp.net/scottgu/archive/2007/08/19/using-asp-net-ajax-control-extenders-in-vs-2008.aspx


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号