ASP.NET AJAX调用WebService
如何在客户端直接调用WebService中的方法?
这里结合经验自己写一写
1.首先新建一个 ASP.NET AJAX-Enabled Web Site,这样系统为我们自动配置好了环境,这主要体现在Web.config这个文件上,如果已有网站不是ASP.NET AJAX-Enabled Web Site也可以对照修改下Web.config,也可以达到相同的效果。
2.新建一个web服务,WebService.asmx,在WebService.cs需要添加System.Web.Script.Services;这个命名空间:
using System.Web.Script.Services;
然后给WebService 类添加[ScriptService]属性这里先说步骤,后面说原理,然后给我们需要调用的方法加上
[WebMethod]属性
3.新建一个JScript文件,JScript.js,里面用来响应界面事件处理回调方法返回的数据
4.新建一个页面Default.aspx,如果是ASP.NET AJAX-Enabled Web Site页面上会自动添加ScriptManager控件,如果不是只要手工拖上去一个,然后给ScriptManager添加Script节点,这个节点用来指定要使用的js文件
<Scripts><asp:ScriptReference Path="~/JScript.js" /></Scripts>
再给ScriptManager添加Services节点,这个节点用来指定要使用的WebService
<Services><asp:ServiceReference Path="~/WebService.asmx" /></Services>
这些工作完成后只要在界面上某个控件或者某个地方调用我们的js方法就可以了。
说的是调用本地的WebService,如果是调用网上的WebService,原理也是一样,不过需要添加点东西,就拿“一些常用的WebServices”中的第一个WebService来说吧,天气预报Web服务,在网站上添加web引用,
在url地址中填入地址服务地址,前往,然后添加引用就可以了,其它处理和本地一样。
贴一下代码,包括本地的web服务和远程web服务
I.Default.aspx代码:
<html xmlns="[color=#000000]http://www.w3.org/1999/xhtml[/color]">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" >
<Scripts>
相关文档:
protected void Page_Load(object sender, EventArgs e)
...{
this.btnOK.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(btnOK, "Click") + ";this.disabled=true; this.value='提交中...';");
}
//按钮处理方法
protected void btnOK_C ......
string LogPath;
Thread thread;
void WriteLog()
{
while (true)
{
StreamWriter sw = new StreamWriter(LogPath, true, Encoding.UTF8);
sw.WriteLine(thread.Name + ":" + DateTime.Now.ToString());
sw.Close();
Thr ......
客户端验证方式:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
&nbs ......
Mysql的connector/net5.0下载地址:
http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.0.6.zip/from/pick
安装好以后,
点属性,然后点查找目标,点向上一层目录,找到Binaries\.NET 2.0,然后将这个文件复制到你的工程目录下,一般这样的DLL文件会保存到bin目录下.
在代码页里输入using Mysql.Da ......