【发布时间】:2017-05-24 13:10:33
【问题描述】:
我第一次尝试从 javascript 调用服务器端函数没有工作,因为 webmethod 没有被调用。
aspx 文件包含一个引导样式的按钮;点击后,我需要在用户的“收藏夹”列表中添加一条记录(在数据库中添加一条记录)。
页面继承自母版页,母版页包含:
<asp:ScriptManager runat="server" ID="ScriptManager1" EnablePageMethods="true" />
aspx 页面有:
<script type="text/javascript">
function addFavorite(url, friendly) {debugger
PageMethods.AddFavorite(url, friendly, onSuccess);
}
function onSuccess(result, userContext, methodName) {debugger
alert(result);
}
</script>
<button type="button" class="btn btn-primary btn-xs" onclick="addFavorite('some_url', 'some firendly name');">
<i class="fa fa-heart-o" aria-hidden="true"></i>Favorites</button>
在后面的代码中:
[WebMethod]
public static string AddFavorite(string sURL, string sFriendlyName)
{
// This is where I would add a record to a DB table, but for testing ...
return sFriendlyName;
}
当我点击按钮时,它会点击 addFavorites() 并立即 onSuccess 并绕过 web 方法,它会在警告框上显示页面源(当然是部分)。
我已经搜索过,但似乎不知道我做错了什么。所有示例都显示了我所采取的相同步骤。
【问题讨论】:
-
我刚刚复制了代码,你的方法运行良好,在配置下使用可能会帮助你
标签: javascript c# asp.net webmethod