我们有一个自定义 aspx 页,其中包含在 GAC 的 DLL 中部署的代码隐藏类。我正在尝试使用 jquery 调用代码隐藏中的一种方法来获取文本框的自动完成行为。该方法具有 [WebMethod] 属性。该代码在测试 asp.net 应用程序中运行良好,但是当部署到SharePoint服务器时,我得到一个"httpexception - 目录C:\Inetpub\wwwroot...\catalogs\masterpage不存在。无法开始监视文件更改"错误。页面中没有脚本管理器标记。
在你的代码隐藏中,将他的属性添加到你的函数 [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>
并尽量不要将您的代码隐藏放在 yr GAC 中