所以我有一个ASP.NET用户控件,它使用jQuery AJAX来调用方法。这是jQuery:
$.ajax({
type: 'POST',
url: 'Default.aspx/AdvertClick',
data: '{"name":"test"}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(result) {
//do something
}
});
因为它需要调用静态Web方法,所以我在Default.aspx页面中有AdvertClick方法:
[WebMethod()]
public static string AdvertClick(string name)
{
return "";
}
在我的AdvertClick方法中,我正在接受一个字符串值。我的用户控件中有很多数据和方法需要访问才能使用该字符串值。但是因为我页面中的方法是静态的,所以在不创建控件的新实例的情况下,我无法从用户控件访问任何内容。
有什么方法可以访问用户控件方法吗?我应该尝试不同的AJAX技术吗?我讨厌我必须在页面上调用一个方法,然后需要从我的控件访问数据。
答案 0 :(得分:0)
将静态方法AdvertClick代码移动到一个类中,然后从Web方法和页面上的控件中调用它。这项工作可以在一个班级完成,因此两者都可以访问它。
控件究竟做了什么?