【问题标题】:Get user control method and properties from static page method从静态页面方法获取用户控件方法和属性
【发布时间】:2011-09-07 21:49:11
【问题描述】:

所以我有一个使用 jQuery AJAX 调用方法的 ASP.NET 用户控件。这是 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 技术吗?我讨厌我必须在页面上调用一个方法,然后该方法需要从我的控件中访问数据。

【问题讨论】:

  • 听起来您需要重新考虑您的设计。 web 方法不应该需要关心页面上的东西,它应该能够仅根据参数(即字符串名称)做出决定。考虑将更多信息传递给网络方法,或使用更新面板。
  • 我同意 RPM1984。尽管看到您从使用 JQuery for AJAX 转向更新面板,我会感到非常难过。

标签: c# asp.net jquery ajax


【解决方案1】:

将您的静态方法 AdvertClick 代码移动到一个类中,然后从您的 Web 方法和页面上的控件中调用它。这项工作可以在一个班级中完成,因此双方都可以访问它。

控件具体是做什么的?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 2014-02-18
    相关资源
    最近更新 更多