这是网页的源码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
var g_tbname=null;
var g_btnHello=null;
var g_lbmsg=null;
function pageload()
{
g_tbname=new Sys.Preview.UI.TextBox($get('tbName'));
g_tbname.initialize();
g_btnHello=new Sys.Preview.UI.Button($get('btnHello'));
g_btnHello.add_click(GetHelloWordMessage);
g_btnHello.initialize();
g_lbmsg=new Sys.Preview.UI.Label($get('lbMessage'));
g_lbmsg.initialize();
}
function GetHelloWordMessage()
{
HelloWorldService.GetHelloWorldString(g_tbname.get_text(),cb_getHelloworld);
}
function cb_getHelloworld(result)
{
g_lbmsg.set_text(result);
}
</script>
</head>
<body onload="javascript:pageload();">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Services>
<asp:ServiceReference Path="HelloWorldService.asmx" />
</Services>
<Scripts>
<asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewScript.js" />
</Scripts>
</asp:ScriptManager>
<div>
<label for="tbName">Your Name</label>
<input id="tbName" type="text" />
<input id="btnHello" type="button" value="Say Hello" />
</div>
<div id="lbMessage"></div>
</form>
</body>
</html>其中“ScriptManager”控件是Ajax的核心控件,他引用了HelloWorldService服务,该服务返回一句话。但是在我的调试当中,当输入用户名,点击按钮后,网页出现错误提示:HelloWorldService未定义。
我觉得一方面ScriptManager在服务器端运行,然后将客户端Javascript发送给客户端,应该会把HelloWorldService的执行发送到客户端;另一方面javascript在客户端执行,应该检查类HelloWorldService,而类没有声明,显然不合理。所以现在比较晕,不知如何解决,从而使得AJAX下Javascript能够调用Web Service。要说明的是:Web Service我是测试过的,没有问题的。最后谢谢大侠指导
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
var g_tbname=null;
var g_btnHello=null;
var g_lbmsg=null;
function pageload()
{
g_tbname=new Sys.Preview.UI.TextBox($get('tbName'));
g_tbname.initialize();
g_btnHello=new Sys.Preview.UI.Button($get('btnHello'));
g_btnHello.add_click(GetHelloWordMessage);
g_btnHello.initialize();
g_lbmsg=new Sys.Preview.UI.Label($get('lbMessage'));
g_lbmsg.initialize();
}
function GetHelloWordMessage()
{
HelloWorldService.GetHelloWorldString(g_tbname.get_text(),cb_getHelloworld);
}
function cb_getHelloworld(result)
{
g_lbmsg.set_text(result);
}
</script>
</head>
<body onload="javascript:pageload();">
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" >
<Services>
<asp:ServiceReference Path="HelloWorldService.asmx" />
</Services>
<Scripts>
<asp:ScriptReference Assembly="Microsoft.Web.Preview" Name="PreviewScript.js" />
</Scripts>
</asp:ScriptManager>
<div>
<label for="tbName">Your Name</label>
<input id="tbName" type="text" />
<input id="btnHello" type="button" value="Say Hello" />
</div>
<div id="lbMessage"></div>
</form>
</body>
</html>其中“ScriptManager”控件是Ajax的核心控件,他引用了HelloWorldService服务,该服务返回一句话。但是在我的调试当中,当输入用户名,点击按钮后,网页出现错误提示:HelloWorldService未定义。
我觉得一方面ScriptManager在服务器端运行,然后将客户端Javascript发送给客户端,应该会把HelloWorldService的执行发送到客户端;另一方面javascript在客户端执行,应该检查类HelloWorldService,而类没有声明,显然不合理。所以现在比较晕,不知如何解决,从而使得AJAX下Javascript能够调用Web Service。要说明的是:Web Service我是测试过的,没有问题的。最后谢谢大侠指导
解决方案 »
- 返回值问题,在线等待
- 刷新页面会添加一条新的数据?
- 在线给分!为什么用了iframe的网页不能够再放控件了?
- ASP.NET怎么实现贴图功能??急9
- 在.aspx.cs文件中定义一个成员变量,并在PageLoad方法中进行初始化,为何当页面刷新后,该变量会被置成null?
- 如何将数据库里的二进制图片数据在IMAGE控件里显示。急急!
- 千万级数据库设计和程序架构
- 怎样在web中嵌入word。并能留痕?
- 短信猫,短信猫池一般会出现的问题?
- 急急急急急急急???????????????
- 一个关于confirm的问题
- |M| 怎样取得 http://msdn2.microsoft.com/en-us/library/73kk32zz(vs.80).aspx 左边星星的那个浮动窗口的代码
当用户点击页面的按钮,会根据这些js的判断,是使用普通的postback或者直接回传部分数据给服务器,然后服务器做出处理,根据来源不同,给不同的回复(不刷新回传的话,只回传所需要的数据),数据到达客户端,还会使用js来改变updatepanel中的资料。
webservice那端
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
http://ajax.asp.net
下面是property.js+ws.js调用webservice
二种方式都是ajax调用webservice
http://www.ibm.com/developerworks/cn/webservices/ws-wsajax2/index.html
http://ajax.asp.net