【发布时间】:2016-11-12 17:21:16
【问题描述】:
我整天都在与这个错误作斗争,几乎阅读了每一篇文章,尝试了我发现的每一个提示,但仍然无法让它发挥作用。
请注意:ScriptManager 内部的EnablePageMethod=true,方法是公共的和静态的,并用[WebMethods]装饰
相同的编码在 VS2010 和 VS2013 中的空项目上都可以完美运行,但是当与 New Project -> web -> web forms 一起使用时,输出附在此处供您参考。
这是我的代码。
代码隐藏:
[System.Web.Services.WebMethod]
public static string GetCurrentTime(string name)
{
return "Hello " + name + Environment.NewLine + "The Current Time is: "
+ DateTime.Now.ToString();
}
JavaScript:
<script type="text/javascript">
function ShowCurrentTime() {
PageMethods.GetCurrentTime(document.getElementById("<%=txtUserName.ClientID%>").value, OnSuccess);
}
function OnSuccess(response, userContext, methodName) {
alert(response);
}
</script>
HTML:
<div>
Your Name :
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<input id="btnGetTime" type="button" value="Show Current Time" onclick="ShowCurrentTime()" />
</div>
【问题讨论】:
-
您可以粘贴您正在使用的页面的代码前面吗?我的意思是您页面的完整标记。
标签: javascript c# asp.net scriptmanager pagemethods