ScriptManager 以及ScriptManagerProxy在母版中使用和Service属性的使用
2012-09-27 10:27
429 查看
在VS2008中,有些是和VS2005有区别的:
1. 创建项目选择”ASP.NET Web Site” ,而不是“ASP.NET Web Application”,后者添加的WebService文件的后台代码不会放在App_Code中,导致前台脚本访问WebService中的方法的时候,会出现” WebService未定义”的错误。
2. 在VS2008中使用母版页的时候,要把ScriptManager 添加在表单里,且不能添加在ContentPlaceHolder中,这个是使用拖放控件常犯的错误。
<formid="form1"runat="server">
<div>
<asp:ScriptManagerID="ScriptManager1"runat="server">
<Services>
<asp:ServiceReferencePath="~/WebService.asmx"/>
</Services>
</asp:ScriptManager>
<asp:ContentPlaceHolderid="ContentPlaceHolder1"runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
添加内容页后,页面会自动生成
<asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server">
</asp:Content>
<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
</asp:Content>
我们在内容页使用ajax时,要添加ScriptManagerProxy 在
<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
</asp:Content>
中。
ScriptManager 以及ScriptManagerProxy Service属性的使用:
<asp:ScriptManagerID="ScriptManager1"runat="server">
<Services>
<asp:ServiceReferencePath="~/WebService.asmx"/>
</Services>
</asp:ScriptManager>
2. WebService.asmx这里是创建的Web Service:
VS2005自动给我们生成了许多代码,当要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,就把下行的注释给取消了就行了。不用在添加命名空间的引用。
[System.Web.Script.Services.ScriptService]
3. 脚本调用WebService
<scriptlanguage="javascript"type="text/javascript">
// <!CDATA[
function btnAdd_onclick() {
requestSampleService = WebService.Add(
document.getElementById("txtName").value, //属性
onRequestComplete //回调结束
);
returnfalse;
}
function onRequestComplete(result)
{
alert(result);
}
// ]]>
注:WebService是创建的WebService的类名,我们调用的是它的Add()方法,其中包含一个参数。
4. 浏览,OK
1. 创建项目选择”ASP.NET Web Site” ,而不是“ASP.NET Web Application”,后者添加的WebService文件的后台代码不会放在App_Code中,导致前台脚本访问WebService中的方法的时候,会出现” WebService未定义”的错误。
2. 在VS2008中使用母版页的时候,要把ScriptManager 添加在表单里,且不能添加在ContentPlaceHolder中,这个是使用拖放控件常犯的错误。
<formid="form1"runat="server">
<div>
<asp:ScriptManagerID="ScriptManager1"runat="server">
<Services>
<asp:ServiceReferencePath="~/WebService.asmx"/>
</Services>
</asp:ScriptManager>
<asp:ContentPlaceHolderid="ContentPlaceHolder1"runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
添加内容页后,页面会自动生成
<asp:ContentID="Content1"ContentPlaceHolderID="head"Runat="Server">
</asp:Content>
<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
</asp:Content>
我们在内容页使用ajax时,要添加ScriptManagerProxy 在
<asp:ContentID="Content2"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
</asp:Content>
中。
ScriptManager 以及ScriptManagerProxy Service属性的使用:
<asp:ScriptManagerID="ScriptManager1"runat="server">
<Services>
<asp:ServiceReferencePath="~/WebService.asmx"/>
</Services>
</asp:ScriptManager>
2. WebService.asmx这里是创建的Web Service:
VS2005自动给我们生成了许多代码,当要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,就把下行的注释给取消了就行了。不用在添加命名空间的引用。
[System.Web.Script.Services.ScriptService]
3. 脚本调用WebService
<scriptlanguage="javascript"type="text/javascript">
// <!CDATA[
function btnAdd_onclick() {
requestSampleService = WebService.Add(
document.getElementById("txtName").value, //属性
onRequestComplete //回调结束
);
returnfalse;
}
function onRequestComplete(result)
{
alert(result);
}
// ]]>
注:WebService是创建的WebService的类名,我们调用的是它的Add()方法,其中包含一个参数。
4. 浏览,OK
相关文章推荐
- 简单地过一下五个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer)
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ScriptManager 以及ScriptManagerProxy Service属性的使用
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- 新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer)
- 新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer)
- 简单地过一下五个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- 新瓶旧酒ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy
- ASP.NET AJAX - 内容页面一定要使用 ScriptManagerProxy 控件吗?
- ASP.NET AJAX - 内容页面一定要使用 ScriptManagerProxy 控件吗?
- ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer)
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX入门系列(3):使用ScriptManagerProxy控件
- ASP.NET AJAX就5个控件,分别是ScriptManager、ScriptManagerProxy、UpdatePanel、UpdateProgress和Timer
- ASP.NET AJAX(1) - 简单地过一下每个控件(ScriptManager、ScriptManagerProxy、UpdatePanel、 UpdateProgress和Timer)