你能从同一个UserControls Javascript调用一个UserControl服务器函数吗
Can you call a UserControl Server Function from the same UserControls Javascript?
我不确定这个问题是否已经发布,我已经检查了建议的SO链接,但似乎没有一个链接与这个问题完全相关。因此,如果有人认为这是一个潜在的重复,请发布建议答案的链接并原谅这篇帖子。
可能有多种方法可以解决我的问题,但为了简洁起见,我有一个用户控件,我想使用JavaScript或JQuery调用它对应的服务器端方法。
例如,假设我的用户控制有一些服务器端代码,例如:
public partial class UserControls_MyControl : UserControl
{
public string ExecuteThis(string someValue)
{
return someValue;
}
}
我想使用JavaScript从用户控制客户端调用ExecuteThis方法。我知道,如果是来自父页面的调用,使用其他机制,这是可能的;PageMethods。但是,当客户端和服务器代码都位于用户控件中时,如何实现这一点呢。
我看到了一些建议使用WebService代理的文章和参考文章,我尝试过使用AJAX从用户控制客户端脚本调用WebService,并取得了一些成功。
function MakeWebServiceCall()
{
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/WebServices/MyService.asmx/SomeMethod",
data: "{}",
dataType: "json",
success: function (msg) {
alert(msg.d);
},
error: function(error)
{
alert(error.responseText);
}
});
}
但是,我如何将WebService调用绑定回用户控制方法呢?或者这可能吗?还是有更优雅的方式?
您必须在使用用户控件的页面中有一个方法标记为WebMethod,然后该方法将调用您的用户控件方法。
在您的页面中:
[WebMethod]
public static string ExecuteThis(string somevalue)
{
return userCtrl.ExecuteThis(somevalue);
}
在您的ajax调用中:
url: "/MyPage.aspx/ExecuteThis"
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 我应该如何从xml文件构建一个javascript页面
- 你能从同一个UserControls Javascript调用一个UserControl服务器函数吗
- 从UserControl的资源文件运行一个jQuery脚本到client的脚本管理器