c# - 如何从 javascript 函数调用代码隐藏方法?

标签 c# javascript asp.net .net scriptmanager

我在 aspx 页面中有一个用于 HTML img 单击事件的 javascript 函数。以及其代码隐藏页面中的服务器方法。现在我想仅在用户单击 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 函数时 我看到一个错误:Uncaught Reference Error:PageMethods is not defined。

最佳答案

.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;
    }

关于c# - 如何从 javascript 函数调用代码隐藏方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510749/

相关文章:

c# - Enterprise Architect 用于存储 DateTime 类型标记值的日期格式

c# - C# 8 中 Non-Nullable 引用类型的默认值是多少?

javascript - JavaScript 随机数函数的未知问题

.net - ASP.NET AJAX pageLoad() 和 JavaScript window.onload 有什么区别?

asp.net - 为什么我的 Azure 虚拟机未显示在 ASP.NET MVC 应用程序的 Visual Studio 发布功能中?

c# - 为什么 int 数组的最大大小小于 Int32.MaxValue?

c# - Selenium 无法连接到本地主机以测试 ASP.NET

javascript - Jquery 点击事件不再绑定(bind)新创建的标签

javascript - 如何从 Angular $http post 请求中获取 json 字符串

javascript - 使用 C# 的 Asp.Net,单击 Datagrid 行时打开 Web 表单