【发布时间】:2014-06-01 06:50:22
【问题描述】:
有可能吗?在可视化 Web 部件中从 java 脚本调用代码隐藏 c# 函数? 这是一个复杂的功能,因此不能将所有代码转换到客户端。 我希望这个函数中的逻辑在没有页面刷新的情况下发生。 谢谢。
【问题讨论】:
标签: asp.net
有可能吗?在可视化 Web 部件中从 java 脚本调用代码隐藏 c# 函数? 这是一个复杂的功能,因此不能将所有代码转换到客户端。 我希望这个函数中的逻辑在没有页面刷新的情况下发生。 谢谢。
【问题讨论】:
标签: asp.net
我们可以从 JQuery AJAX 调用中调用代码隐藏中的方法,并根据状态是错误还是成功执行相应的方法。
function MyMethod() {
$.ajax({
type: "POST",
url: "CodeBehind.aspx/ClearData",
contentType: "application/json;charset=utf-8",
data: '',
dataType: "json",
success: function (data, textStatus) {
closePopUpwindow1();
},
error: function (data, textStatus) {
closePopUpwindow2();
}
});}
[WebMethod]
public static void ClearData(){
Page.SetGridSessionData(gridID, null);
}
如果服务器端方法执行成功,则执行closePopUpwindow1方法,否则执行closePopUpwindow2方法。
【讨论】:
您可以使用 j Query ajax 来调用服务器端方法并获取要在 java 脚本中使用的响应。 这篇文章有简单而好的例子来展示你需要做什么。
public partial class _Default : Page
{
[WebMethod]
public static string GetDate()
{
return DateTime.Now.ToString();
}
}
Java 脚本
$.ajax({
type: "POST",
url: "PageName.aspx/MethodName",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
// Do something interesting here.
}
【讨论】: