javascript - 如何使用 javascript 调用 UserControl 中的函数(代码隐藏)

标签 javascript c# asp.net user-controls

如何使用 JavaScript 调用 UserControl 中的函数(代码隐藏 - UserControl.ascx.cs)? 以下似乎不起作用。仅当我将函数 (AddLike) 移动到嵌套 UserControl 的父页面后面的代码时,它才有效。如果要调用的函数位于 UserControl 本身的后面代码中,则不起作用

用户控件.ascx

$.ajax({
    type: "POST",
    url: "UserControl.ascx.cs/AddLike", //This doesn't seem to work
    data: "{ IDphoto :" + IDphoto + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
})

UserControl.ascx.cs

[WebMethod]
public static string AddLike(int IDphoto)
{
        //My code        
}

父页面.aspx

<uc:UserControl runat="server" />

最佳答案

您无法从用户控件调用WebMethods。将此 WebMethod 放在将加载控件的页面后面的代码中。改成这样

$.ajax({
type: "POST",
url: "parentPage.aspx/AddLike", 
data: "{ IDphoto :" + IDphoto + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
})

关于javascript - 如何使用 javascript 调用 UserControl 中的函数(代码隐藏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27938917/

相关文章:

javascript - 如何按顺序检索特定 DOM 元素的所有 index() 值

javascript - 来自 MCV 的发布数据未调用 JS 函数

c# - MediaPlayer 在 Visual Studio 中导致 AppCrash

c# - 在 C# 中从分层数据集创建 XML

c# - 将 MemoryStream 写入响应对象

asp.net - 从代码隐藏 (C#) 访问中继器中的按钮

javascript - 如何动态地将 jquery ui 事件处理程序添加到动态创建的按钮?

javascript - 背景图片未覆盖整个网页

c# - 为什么 `Predicate<T>` 与 `Func<T,bool>` 不匹配?

C#匿名类型从其他方法访问