我有一个 javascript 函数,用于 aspx 页面中的 HTML img 点击事件。其代码隐藏页面中还有一个服务器方法。现在我想仅当用户单击 HTML img 时才从 javascript 函数调用服务器方法而不带任何参数。
C# 代码隐藏方法:
[WebMethod]
public void PopUpClick(object sender, EventArgs e)
{
//Something;
}
JavaScript 方法:
$(document).ready(function () {
$('.clickme').click(function () {
PageMethods.PopUpClick();
});
});
我还添加到母版页中:<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" EnablePageMethods="true" />
它不起作用。当我在 Chrome 上调试这个 Javascript 函数时
我看到一个错误:未捕获的引用错误:PageMethods 未定义。
.aspx
<div>
<p>Say bye-bey to Postbacks.</p>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:TextBox ID="txtname" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="txtaddress" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnCreateAccount" runat="server" Text="Signup" OnClientClick="HandleIT(); return false;" />
</div>
JavaScript
<script type="text/javascript">
function HandleIT() {
var name = document.getElementById('<%=txtname.ClientID %>').value;
var address = document.getElementById('<%=txtaddress.ClientID %>').value;
PageMethods.ProcessIT(name, address, onSucess, onError);
function onSucess(result) {
alert(result);
}
function onError(result) {
alert('Something wrong.');
}
}
</script>
C#
[WebMethod]
public static string ProcessIT(string name, string address)
{
string result = "Welcome Mr. " + name + ". Your address is '" + address + "'.";
return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)