我们有一个自定义的aspx页面,其中的代码隐藏类部署在GAC的DLL中。我试图使用jquery调用代码隐藏中的方法来获取文本框的自动完成行为。该方法具有[WebMethod]属性。代码在测试asp.net应用程序中运行良好但是当部署到SharePoint服务器时,我得到一个“httpexception - 目录C:\ Inetpub \ wwwroot ... \ catalogs \ masterpage不存在。无法开始监视文件更改“错误。页面中没有scriptmanager标记。
答案 0 :(得分:0)
在你的代码中,在你的函数[WebMethod]之上添加他的属性然后你应该能够通过Jquery调用它
了解更多信息,请点击此处 http://msdn.microsoft.com/en-us/library/byxd99hx%28v=vs.71%29.aspx
在您的asp.net表单标记
下添加<asp:ScriptManager ID="scriptManager" EnablePageMethods="true" runat="server"/>
在您的代码隐藏文件中添加此功能
[System.Web.Services.WebMethod]
public static string SayHi()
{
return "Hi";
}
并将其添加到您的aspx文件中
<script>
function GetHi() {
PageMethods.SayHi(onComplete);
}
function onComplete(result) {
alert(result);
}
GetHi();
</script>
并尽量不将您的代码隐藏在您的GAC
中