C# 如何从母版页调用Webservice函数
我想在用户按下功能键时打开一个html页面 现在,函数键的捕获工作正常,但是打开相应页面的逻辑是在母版页的代码后面编写的 我在互联网上读到,如果我想在代码背后调用函数,那么我必须创建一个web服务并从母版页调用webservice方法 但由于某些原因,这不起作用。可能是我没有正确调用web服务 有人能帮忙吗 非常感谢C# 如何从母版页调用Webservice函数,c#,asp.net,web-services,C#,Asp.net,Web Services,我想在用户按下功能键时打开一个html页面 现在,函数键的捕获工作正常,但是打开相应页面的逻辑是在母版页的代码后面编写的 我在互联网上读到,如果我想在代码背后调用函数,那么我必须创建一个web服务并从母版页调用webservice方法 但由于某些原因,这不起作用。可能是我没有正确调用web服务 有人能帮忙吗 非常感谢 <cc1:ToolkitScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release" Ena
<cc1:ToolkitScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release" EnableHistory="true" EnableSecureHistoryState="false"
EnablePageMethods="true" CombineScripts="false">
<Scripts>
<asp:ScriptReference Path="~/ShowHelpPage.asmx" />
</Scripts>
</cc1:ToolkitScriptManager>
document.onkeydown = function(event){
if(window.event && window.event.keyCode == 113)
{
window.open("HelpFile/index.html");
}
else if(event.which == 113)
{
window.open("HelpFile/index.html");
DisplayHelpFile();
}
}
function DisplayHelpFile()
{
var i = PageMethods.DisplayHelpPage();// I think this is wrong
alert(i);
}
您的web方法需要是静态的 “我在网上读到,如果我想调用代码隐藏中的函数 然后我必须创建一个web服务并调用webservice方法 “从母版页” 我假设在上下文中,您指的是方法,而不是函数。加载母版页时是否要调用方法?我认为您不需要为此创建Web服务?除非您希望客户端通过异步启动请求,并且您正在使用JavaScript和AJAX发出请求。你想达到什么目标?在我看来,这可以通过javascript实现。如果你通过JavaScript调用一个页面,它应该自己加载吗 下面是实现您想要的功能,但只使用javascript
function keyHandler(e)
{
... key handling script
if(myKey == 'F1')
{
window.location.href = '...';
}
}
document.onkeypress = keyHandler;
如果需要调用此Web服务,并且需要从客户机启动它,则可以使用JQuery来执行此操作。使用与ShowHelpPage.asmx相同的方法存储通过JavaScript处理的处理和渲染。据我所知,这也消除了对ToolkitScriptManager的依赖
function DisplayHelpFile()
{
$.ajax({
type: "POST",
url: "ShowHelpPage.asmx/DisplayHelpPage",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success:function(result)
{
alert(result);
}
},
error: ErrorMessage
});
function ErrorMessage(result)
{
alert(result.status + ' ' + result.statusText + ' ' + result.responseText);
}
}
function DisplayHelpFile()
{
$.ajax({
type: "POST",
url: "ShowHelpPage.asmx/DisplayHelpPage",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success:function(result)
{
alert(result);
}
},
error: ErrorMessage
});
function ErrorMessage(result)
{
alert(result.status + ' ' + result.statusText + ' ' + result.responseText);
}
}