如何在ASP.NET中从Jquery调用UserControls CodeBehind方法

本文关键字:调用 UserControls CodeBehind 方法 Jquery 中从 ASP NET | 更新日期: 2023-09-27 18:09:06

我有一个UserControl显示成功/警告/错误消息。对于所有这些类型的消息,我们有一个UserControl Message。ascx"目前用于其他aspx页面,没有Jquery

因为我们正在尝试维护标准消息警报。现在我第一次在aspx页面中使用Jquery和JSON调用。,我想显示这些成功消息从我的jquery.,

在一般的aspx代码后面,我使用了User控件作为

//register User Control
<UM1:UM runat="server" ID="Message" /> 
 ....
 public void insert(){
 .. Some logic.., after success
 Message.ShowSuccess(" Inserted Successfully");
 }

但是在这里,在Jquery我如何调用这些ShowSuccess()在asx .csajax调用

     $.ajax({
                 type: "POST",
                 contentType: "application/json; charset=utf-8",
                 url: "Voyage.aspx/Context_Update",
                 data: "{'ID':''1}",
                 dataType: "html",
                 success: function (html) {
                     try {                          
                        // Want to Show    Message.ShowSuccess(" Inserted Successfully");                     
                     } catch (ex) {
                         alert("ErrCode:1");
                     }

我没有任何想法,也没有发现任何结果…

如何在ASP.NET中从Jquery调用UserControls CodeBehind方法

你不能在asp.net中调用User-Control,因为它不是直接提供给外部世界的东西,而是服务器在页面生命周期中组合到页面中的东西。

如果你想在服务器上调用一些东西,你需要将[WebMethod]属性添加到服务器端方法,这允许你从jQuery调用。你可以在你的页面上有一个[WebMethod],然后调用你的User-Control中的一些代码,但不能直接访问你的User-Control

就像这样:

MyPage.aspx

[WebMethod]
public static string GetMessageFromWebPage()
{
    return MyUserControl.GetMessageFromUserControl();
}

MyUserControl.ascx

public static string GetMessageFromUserControl()
{
    return "Hello World!"
}
jQuery

$.ajax({
  type: "POST",
  url: "MyPage.aspx/GetMessageFromWebPage",
  data: "{}",
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(msg) {
    // Do something with the page method's return.
    $("#Result").text(msg.d);
  }
});