如何在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中调用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);
}
});