在c#中从javascript调用代码隐藏函数

时间:2014-04-17 06:01:49

标签: asp.net

甚至可能吗?从可视Web部件中的java脚本调用代码隐藏c#函数? 这是一个复杂的功能,因此无法将所有代码转换为客户端。 我希望这个函数中的逻辑在没有页面刷新的情况下发生。 感谢。

2 个答案:

答案 0 :(得分:1)

我们可以从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方法。

答案 1 :(得分:0)

您可以使用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.
  }