asp.net ajax 如何应用到 webform 中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net ajax 如何应用到 webform 中相关的知识,希望对你有一定的参考价值。

参考技术A 必须先把ScriptManager或者ToolkitScriptManager放到页面上。然后再用鼠标把别的控件拖到页面上然后运行就可以了。有些功能你也可以用asp.net ajax 的javascript类库可以自己编辑。脚本后面只需写个if(sys="undefind") ....后面不记得了。就可以运用它。 参考技术B 页面的最上面需要放一个ScriptManager
这个控件里面会有
所有需要异步传输的放到
UpdatePanle这个空间里面
就是这么简单
Timer是时间控件
另外2个我记得好像是效果追问

在webform里面也是一样吗?

追答

俺说的就是 WebForm~我是网站开发di~

本回答被提问者和网友采纳

如何使用 ajax 从跨域调用 asp.net Web 服务

【中文标题】如何使用 ajax 从跨域调用 asp.net Web 服务【英文标题】:How to call asp.net web services using ajax from cross domain 【发布时间】:2013-06-23 10:23:35 【问题描述】:

我正在使用 javascript、html、css(跨平台技术)开发移动应用程序,我已经使用 asp .net 编写了一个 web 服务,我想从 web 服务中获取数据并使用 javascript/jquery 显示到客户端。我们指向网络服务并显示结果,但这仅在 IE(Internet Explorer)中有效,我们从服务器获得结果为“真实”响应,但在其他浏览器(Mozilla,chrome)中它不起作用,我们得到结果“ false”作为来自服务器的响应。正如我所期望的那样,结果在所有浏览器中都为“true”,但它没有发生。下面我给出了我使用的所有代码。

WebService.asmx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService 

    [WebMethod]
    public bool GetValue(string id,string pwd)
    
        string userid = "abc";
        string password = "xyz";
        if (userid==id && password==pwd)
        
            return true;
        
        else
        
            return false;
        
    


网页配置

<?xml version="1.0"?>

<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0"/>
    </system.web>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*"/>
                <add name="Access-Control-Allow-Headers" value="Content-Type"/>
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

HTML页面代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>
    </title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
   <script>
       function JsonTest2() 
jQuery.support.cors = true;
           $.ajax(
               type: 'POST',
               url: "http://10.16.10.35/webservice_test/WebService.asmx/GetValue",
               data: '"id":"vipul","pwd":"borole"',
               contentType: 'application/json; charset=UTF-8',
               dataType: 'json',
               async: false,
               success: function (msg) 
                   alert(msg.d);
               ,
               error: function (msg) 
                   alert('failure');
                   alert(msg);
               
           );
       
   </script>
</head>
<body>
<input id="Button1" type="button" value="button" onclick="javascript:JsonTest2();" />

</body>
</html>

请帮助我从所有浏览器调用此 Web 服务,我无法理解为什么它返回 false

【问题讨论】:

【参考方案1】:

您还需要为 POST 设置 Access-Control-Allow-Methods。

另外,您是否意识到使用 * 表示 Origin 允许任何人访问该服务?您可能想要使用适合实现 CORS 的库,例如 Thinktecture IdentityModel 库:

http://brockallen.com/2012/06/28/cors-support-in-webapi-mvc-and-iis-with-thinktecture-identitymodel/

查看 IIS/Url 选项(因为您似乎是在 IIS 之外托管)。

【讨论】:

请根据问题帮忙

以上是关于asp.net ajax 如何应用到 webform 中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ajax 从跨域调用 asp.net Web 服务

如何在 Asp.Net MVC5 中使用 Ajax 将数据库更改保存到拖放列表

如何在我的 .NET 3.5 Web 应用程序中安装和使用 ASP.NET AJAX 控件工具包?

如何保护 ASP.NET 中的 AJAX 请求?

如何重定向到 $.AJAX 上的视图完成 - asp.net mvc 3

如何在 ASP.NET AJAX TabControl 中设置控件样式