精华内容
下载资源
问答
  • ASP.NET AJAX 中,如何用 JavaScript 调用服务器端的方法?.pdf
  • asp.net 客户端JS调用服务器方法

    热门讨论 2008-05-15 17:38:26
    使用了AjaxPro.dll 在JS调用服务器方法,判断用户名密码是否正确,实现登录验证
  • ajax 调用服务器方法

    2011-01-30 17:58:55
    如何以最快捷的方式直接调用服务器方法? 场景: 比如,服务器已有如下方法: namespace CH2 { class BLL{ User Login(string name,string password){ //balabala... } } } 如何写最少的 js ...
  • 它是一个实用程序,允许您在任何 DOM 事件上异步调用服务器方法,就像调用 javascript 方法一样,而无需为 ajax 支持编写一段代码。 它依赖于 jquery,适用于所有版本的 jquery。 文档和工作在这里 -
  • 在本文中,我们将尝试看看如何使用ASP.NET AJAX框架来调用服务器端定义的方法,即客户端javascript后面的代码。 我们还将研究如何从Javascript调用和使用Web服务。
  • 怎样用js调用服务器控件DropDownList的SelectedIndexChanged方法 //web窗体后台.cs的ddlCategoryId控件的change方法 protected void ddlCategoryId_SelectedIndexChanged(object sender, EventArgs e) { ...
  • AjaxPro 异步调用服务器方法

    千次阅读 2010-01-28 08:56:00
    AjaxPro.Net是一个优秀的.net环境下的ajax框架,用法很简单,可以查阅相关资料,简单说有几点:1)添加AjaxPro.dll应用;...(ajaxpro最大的优点:客户端js中直接调用服务端方法)客户端代码: AjaxPro onLoading

    AjaxPro.Net是一个优秀的.net环境下的ajax框架,用法很简单,可以查阅相关资料,简单说有几点:
    1)添加AjaxPro.dll应用;
    2)配置web.config;
    3)写服务端方法,加[AjaxPro.AjaxMethod]申明;
    4)客户端调用服务端方法;(ajaxpro最大的优点:客户端js中直接调用服务端方法)
    客户端代码:

    注:javascript代码放在form内结束处,确保可以访问AjaxPro对象,否则提示AjaxPro未定义;因为在服务端page_load输出js到页面后才到找到AjaxPro对象;且javascript的defer="defer",页面加载时先不执行此代码。
    服务端代码:

    AjaxPro.Net实现的页面加载onLoading效果:

    示例代码下载:/Files/chy710/ajaxPro.rar

    本人在运行时出现回调函数不执行的情况,断点调试发现是服务器方法发生catch时自动跳出ajax调用,不知道这是不是ajaxPro的不足,请高手指点

    展开全文
  • JavaScript调用服务器事件

    千次阅读 2005-01-20 12:27:00
    JavaScript调用服务器事件作者:陈缘联系:luandao2000@gmail.com博客:http://blog.csdn.net/luandao2000主页:http://www.spbase.com1、在aspx文件中找到Form1标签,在其后增加如下js脚本: function __...

    JavaScript调用服务器事件

    作者:陈缘
    联系:luandao2000@gmail.com
    博客:http://blog.csdn.net/luandao2000
    主页:http://www.spbase.com


    1、在aspx文件中找到Form1标签,在其后增加如下js脚本:
            <input type="hidden" name="__EVENTTARGET"> <input type="hidden" name="__EVENTARGUMENT">
       <script language="javascript" type="text/javascript">
        <!--
        function __doPostBack(eventTarget, eventArgument) {
        var theform;
        if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
        theform = document.Form1;
        }
        else {
        theform = document.forms["Form1"];
        }
        theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
        theform.__EVENTARGUMENT.value = eventArgument;
        theform.submit();
        }
        // -->
       </script>

    2、然后javascript的函数中使用__doPostBack('Button1','')就可以调用指定服务器按钮的事件了,目前测试了调用Button的Click事件没有任何问题,不过即使Button的Visible="False"是,事件也是可以被触发的,所以如果需要调用别的服务器函数或者事件,可以在界面上放一个隐藏的Button控件,然后在它的Click事件中调用别的函数即可。

    展开全文
  • 那么,调用一般的服务器方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:asp:LinkButton 
    这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
    
    那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
    首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:
    < asp:LinkButton  ID ="linkUpdatePosts"  runat ="server"  style ="display:'none';"  OnClick ="linkUpdatePosts_Clicked"   />

         //  刷新帖子列表(供客户端 js 调用)
         protected   void  linkUpdatePosts_Clicked( object  sender, EventArgs e)
        {
            LoadPosts();
        }

    然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:
         //  刷新帖子列表
        function refreshPosts() {
            __doPostBack(
    ' <%= linkUpdatePosts.UniqueID %> ' '' );
        }
    展开全文
  • 附件包含最新的ajaxPro.dll9.2.17.1版本及其WebConfig配置文件,使用时只需要将ajaxPro.2.dll添加至工程引用,并覆盖原有配置文件即可...具体使用方法测试代码中详细列出,包含了传参调用和不传参数调用,均已测试通过
  • js调用后台方法与后台调用js方法

    千次阅读 2011-12-29 16:24:48
    JS调用后台方法大全 javascript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById("btn1").click()...
    1. JS调用后台方法大全
      javascript函数中执行C#代码中的函数:
      方法一:
      1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
      2、在前台写一个js函数,内容为document.getElementById("btn1").click();
      3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;

      方法二:
      1、函数声明为public
      后台代码(把public改成protected也可以)
      publicstringss()
      {
      return("a");
      }
      2、在html里用<%=fucntion()%>可以调用
      前台脚本
      <script language=javascript>
      var a
      ="<%=ss()%>";
      alert(a);
      </script>
      方法三:
      1<script language="javascript">
      <!--
      function __doPostBack(eventTarget, eventArgument)
      {
      var theForm
      =document.Form1;//指runat=server的form
      theForm.__EVENTTARGET.value=eventTarget;
      theFrom.__EVENTARGUMENT.value
      =eventArgument;
      theForm.submit();
      }
      -->
      </script>
      <input id="Button1"type="button"name="Button1"value="按钮"onclick="javascript:__doPostBack('Button1','')">

      方法四:
      <script language="javascript">
      function SubmitKeyClick()
      {
      if(event.keyCode==13)
      {
      event.cancelBubble=true;
      event.returnValue=false;
      document.all.FunName.value
      ="你要调用的函数名"
      document.form[
      0].submit();
      }
      }
      </script>

      <INPUT onkeypress="SubmitKeyClick()"id="aaa"type="text">
      <input type="hidden"name="FunName">〈!--用来存储你要调用的函数--

      在.CS里有:
      publicPage_OnLoad()
      {
      if(!Page.IsPost())
      {
      stringstrFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
      //根据传回来的值决定调用哪个函数
      switch(strFunName)
      {
      case"enter()":
      enter() ;
      //调用该函数
      break;
      case"其他":
      //调用其他函数
      break;
      default:
      //调用默认函数
      break;
      }
      }
      }

      publicvoidenter()
      {
      //……比如计算某值
      }
    2.  
    3. JS调用后台带参数的方法

           对于前台调用后台的方法,我们想到最多的就是用AJAX,这个是毋庸置疑的, 我就不再这里多说了。我今天主要想说的是用JS调用后台的方法。
      对于后台往前台传值,用这种<%= nameValue%> 方法,我们是在熟悉不过了,由此,我们是否可以用同样的办法达到传值方法返回值的效果呢?
      我在这个项目中最先想到的就是尝试这种(因为这个项目用到了VML,用AJAX以前是不行,不过,后来测试还是没有问题,不过,需要把 xmlns=http://www.w3.org/1999/xhtml给保留住)方法,结果是可行的。但是由于需要前台在调用后台的方法时,需要先给其传参数,这个遇到
      了一些麻烦,去网上看了一些解决方案,都是把字符串作为参数传递,而更多的网友是想知道如何传递变量的,呵呵,偶也是其中一个,因为这个变量
      的值是不确定的嘛!后台,得到一名叫“刚刚”的网友帮助,问题解决。现在把方法告知大家,以免在开发的过程中走同样的弯路。
      后台方法:
    4. protected   string  CsharpVoid( string  strCC)
      {
         strCC = "你好!" + strCC;
        return strCC;
       }
      前台JS
    5.  function Init()
       {
         var v = "中国";
         var s = ' <% = CsharpVoid( " '+v+' " %> ';
         alert(s);
       }
      这样就OK了
    6.  
    7. 简单介绍下它的用法:
      
      一.AjaxPro的使用
      
      
      1.在项目中添加引用,浏览找到AjaxPro.2.dll文件
      
      2.在Web.config中的system.web里面写入以下代码
      </configuration>
      <system.web>
        <httpHandlers>
              <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
            </httpHandlers>
      </system.web>
      <//configuration>
      
      3.在加载事件中,加入
        AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));
      
      4.写的方法都要用
       [AjaxPro.AjaxMethod]开头,然后在写方法
      
      5.调用时必须写清楚
       命名空间名.类名.方法,例:WebUI._Default.getData();
      
      6.调用可分两中方法(同步调用,异步调用)
       
      //在后台写的无参方法
      [AjaxPro.AjaxMethod]
      public string getStr()
      {
              return  "hello my friends";
      }
      //在后台写的有参方法
       [AjaxPro.AjaxMethod]
      public string getString(string str)
      {
           return str + "Say: hello my friends";
      }
      
      a.同步调用
       (1).拖入html控件button
       (2).双击,自动显示在.aspx的脚本中
       (3).在里面写入你要输入的内容
       例:
      //------------------同步调用无参-----------
        function Button1_onclick() 
        {
               var res=WebUI._Default.getStr();
               alert(res.value);
        } 
        
      //------------------同步调用有参------------
      function Button2_onclick() //TextBox1为服务器控件
      {
          var str=document.getElementById("<%=TextBox1.ClientID%>").value;
          var res=WebUI._Default.getStr(str);
          alert(res.value);
      }
      
      
      b.异步调用
       (1).拖入html控件button
       (2).双击,自动显示在.aspx的脚本中
       (3).在里面写入你要输入的内容
       例:
      //-----------------异步调用无参-----------------
      function Button3_onclick() {
          WebUI._Default.getStr(getStrCallBack);
      }
      function getStrCallBack(res)
      {
          alert(res.value);
      }
      //-----------------异步调用有参-----------------
      function Button4_onclick() {
          var str=document.getElementById("<%=TextBox1.ClientID %>").value;
          WebUI._Default.getString(str,getStringCallBack);
      }
      function getStringCallBack(res)
      {
          alert(res.value);
      }
      
      7.调用对象
      
      //对象
      [AjaxPro.AjaxMethod]
      public Class getClass()
      {
             Class cla = new Class();
             cla.C_Id = 100;
             cla.C_Name = "34班";
             cla.Count = 20;
             return cla;
      }
      //------------------同步调用对象-----------
      function Button5_onclick() {
          var res=WebUI._Default.getClass().value;
          alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);
      }
      //------------------异步调用对象-----------
      function Button6_onclick() {
          WebUI._Default.getClass(getClassCallBack);
      }
      function getClassCallBack(clas)
      {
          var res=clas.value;
          alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);
      }
      
      
      8.数据集的使用
       //方法
              [AjaxPro.AjaxMethod]
              public DataSet getInfo()
              {
                  return WebUI.GetDataSet.getList();
              }
      
      //--------------------异步调用数据集--------------
      function Button8_onclick() {
          WebUI._Default.getInfo(getDataSetCallBack);
      }
      function getDataSetCallBack(res)
      {
          var dataset=res.value;
          var strHtml="";
          strHtml +='<table  style ="border-collapse:collapse ; border-color:Gray ;"  border="1px">';
          strHtml +='        <tr>';
          strHtml +='            <td>学生编号</td>';
          strHtml +='            <td>名称</td>';
          strHtml +='            <td>年龄</td>';
          strHtml +='        </tr>';
          
          for(var i=0;i<dataset.Tables[0].Rows.length;i++)
          {
              strHtml +='        <tr>';
              strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_id +'</td>';
              strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_name +'</td>';
              strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_age +'</td>';
              strHtml +='        </tr>';
          }
          strHtml +='    </table>';
          thedata.innerHTML=strHtml;//thedata是一个<div id="thedata"></div>中的thedata
      }
      
       
      
      9.验证码的使用
      
      //----------------------验证码的使用(必须采用同步调用)----------------------
      
      //验证码的使用
      [AjaxPro.AjaxMethod]
      public bool ValidCodeData(string code)
      {
           return (HttpContext.Current.Session["CheckCode"].ToString()==code);
      }
      
      function Button9_onclick() {
          var code=document.getElementById("<%=TextBox2.ClientID %>").value;
          var bool=WebUI._Default.ValidCodeData(code).value;
          if(bool==true)
          {
              alert("ok");
          }else
          {
              alert("no");
          }
      }
      
      二,直接调用:
      javascript中:<%=后台方法%>
       function says()
          {
              alert("<%=Say()%>");
          }
          function del()
          {
               alert("<%=DeleteByID(8)%>");//DeleteByID(8)后台方法名
          }
      
      
      三,采用ICallbackEventHandler回调
      
      
      //必须声明System.Web.UI.ICallbackEventHandler接口
      public partial class _Default : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
      {
          //定义一个回调的返回值
          private string Result;
          //定义两个变量,用来接收页面传过来到操作数
          private string Num1;
          private string Num2;
          protected void Page_Load(object sender, EventArgs e)
          {
              
           }
      
          /// <summary>
          /// 该方法是回调执行的方法,根据参数在这个方法中处理回调的内容,该方法没有返回值
          /// </summary>
          /// <param name="eventArgument">此参数是从客户端传过来的</param>
          public void RaiseCallbackEvent(string eventArgument)
          {
              //eventArgumeng 为javascript从客户端传递的参数,本例传过来三个参数用“/”分割将每个参数取出存入数组
              string[] PagParams = eventArgument.Split('/');
               Num1 = PagParams[1];
               Num2 = PagParams[2];
              //根据第一个参数(所选的操作符),调用不同的执行函数
              switch (PagParams[0])
              {
                  case "0":
                       Result = add(); break;
                  case "1":
                       Result = sub(); break;
                  case "2":
                       Result = multi(); break;
                  case "3":
                       Result = division(); break;
               }
           }
          
          /// <summary>
          /// 该方法是返回回调的结果给客户端
          /// </summary>
          /// <returns></returns>
          public string GetCallbackResult()
          {
              return Result;
           }
      
          //一下四个函数是通过RaiseCallbackEvent方法,调用的回调要执行操作的函数
          private string add()
          {
              double addResult = double.Parse(Num1) + double.Parse(Num2);
              return addResult.ToString();
           }
      
          private string sub()
          {
              double addResult = double.Parse(Num1) - double.Parse(Num2);
              return addResult.ToString();
           }
      
          private string multi()
          {
              double addResult = double.Parse(Num1) * double.Parse(Num2);
              return addResult.ToString();
           }
      
          private string division()
          {
              double addresult = double.Parse(Num1) / double.Parse(Num2);
              return addresult.ToString();
           }
      }
      我的实现,前台一个textbox,一个普通button,单击按钮,将textbox中的值插入数据库
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <input id="Button1" type="button" value="点击我" οnclick="test();" />
         function test()
          {
             var names=document.getElementById("TextBox1").value;
             var result= _Default.insert(names).value;
             alert(result);
          }
      后台 #region
          [AjaxPro.AjaxMethod]

          public static string insert(string name)
          {

              string flag = "提交失败";
              SqlConnection conn = DbOpen.DbaseConfigConnect();
              SqlCommand command = new SqlCommand();
              command.Connection = conn;
              string str = "update WBLXDJB set WXR='" + name + "' where BXBH='DIA201'";
              command.CommandText = str;
              if (command.ExecuteNonQuery() == 1)
                  flag = "提交成功";
              return flag;

          }
          #endregion
       protected void Page_Load(object sender, EventArgs e)
          {
              AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
      }
      记得引用AjaxPro.2.dll
      web.config
      <httpHandlers>
          <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/>
              </httpHandlers>

     

    C#前台js调用后台代码

    前台js
    <script type="text/javascript" language="javascript">
      function Ceshi()
      {
        var a = "<%=Getstr()%>";
        alert(a);
      }
    </script>
    <input type="button" value="http://www.2cto.com/kf/201104/js调用后台代码" /> 
    后台代码
    public string Getstr()
    {
      string aa = "你们好啊!";
      return aa;
    }

    C#后台调用前台js代码

    前台js
    <script type="text/javascript" language="javascript">
      function Ceshi()
      {
        var a = "你们好啊!"
        alert(a);
      }
    </script>
    <asp:Button ID="Button1" runat="server" Text="后台调用js" 
    οnclick="Button1_Click" />
    后台代码

    protected void Button1_Click(object sender, EventArgs e)     {

        //如果有UpdatePanel就用如下代码调用前台js

        ScriptManager.RegisterStartupScript(UpdatePanel1,

    this.Page.GetType(), "", "Ceshi();", true);

        //如果没有就如下代码

        this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "", "Ceshi();", true);

     

    展开全文
  • HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index.php', function(data){ alert(data); //这是服务器返回的数据 }) POST:用于上传数据,如用户注册 var dataJson = { ...
  • js调用.NET服务器控件及C#后台方法

    千次阅读 多人点赞 2011-11-15 16:17:11
    js前台页面直接调用.NET控件的ID属性很容易出问题,为什么这么说呢,我们知道一个.NET控件,它有ID,UniqueID(服务器ID,只读),ClientID(客户端ID,只读)三种唯一标记方式。我甚至发现一些有过开发经验的人...
  • 在客户端(js)调用服务器方法(C#)

    千次阅读 2009-08-13 20:57:00
    资源地址:http://hi.baidu.com/%BF%D7%B7%B1%E1%AA/blog/item/11712f11fd221dc1a6ef3fe6.html 在ASP.net 中,客户端(client side)调用服务器端(server side)方法,一般是使用客户端代码调用web服务进行,这样的...
  • 如果JS调用用户控件中的服务器对象,则不能直接通过ID调用,要通过 来调用。 例如: --- 用户控件 --  title" id="title" runat="server" /> function chkFm() { if(IsEmptyObj("title....
  • ChromiumFX中js调用C#方法

    千次阅读 2015-06-04 10:06:21
    ChromiumFX中js调用C#方法
  • 远程服务器调用本地js方法

    千次阅读 2015-05-19 14:36:25
    这是一个远程服务器调用 本地JS方法的例子, 本地代码:  function showdata(data) {  alert(data);  }  var url = "http://www.hy.com/WebForm1.aspx?name=wyj&method=showdata"; //注意这里,参数可以...
  • 使用Client Listener调用服务器方法

    千次阅读 2010-03-17 12:46:00
    概述 本文主要描述如何在ADF中使用Client Listener配合Server Listener调用服务器端的方法,实现对于服务器端业务逻辑的调用或逻辑处理。实现 1、创建ADF应用,并在ViewController项目中创建新页面main.jspx,为...
  • JS调用后台方法大全

    千次阅读 2010-11-13 08:17:00
    JS调用后台方法大全
  • 调用js方法及被调用方法定义

    千次阅读 2018-04-12 10:52:33
    比如在download.js里写到如下:这个方法可以被外面的来通过引用js调用此...var 私有定义的这个方法不可以被外面的调用,只能被js内部方法调用 //从移动OA服务器下载并打开 var doDownLoadFile = function(fileUR...
  • javascript 调用后台方法

    千次阅读 2012-02-08 16:23:01
    方法一:直接使用调用 前台JS: var methodStr = ""; alert(methodStr); 后头方法: public static string BehindMethod() { return "这是一个后台的方法"; }方法二:用ajax调用 前台
  • asp.net ajax中服务器调用JS方法

    千次阅读 2008-03-11 18:03:00
    在asp.net ajax 有时需要在后台处理完毕时调用一个js方法来提示用户处理已经完毕或者关闭一些层。比如如果用到了遮照层。但是在updatepanel中的控件调用服务端方法的时候,用Response.write()方法调用js的话,会...
  • Javascript调用后台方法

    千次阅读 2012-07-12 09:27:22
    1. javaScript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;  2、在前台写一个js函数,内容为document.getElementById("btn1").click();  3、在前台...
  • 页面回传与js调用服务器端事件

    千次阅读 2009-10-28 09:14:00
    现在问题是我如何在点击页面的按钮时调用服务器中的Page_load事件,并刷新菜单,而且要判断刷新的是发件箱的菜单还是收件箱的菜单。开始考虑用runat="server"控件的Click事件,但是它先执行的是Page_Load事件,没有...
  • 前台js调用服务器端的代码 : <mce:script type="text/javascript"><!-- //调用 alert( getWebMethod("2")); //取从服务器返回的值 function getWebMethod(parameter) { var value = '("' +...
  • 前言最近写了一个js调用摄像头的代码,整体实现是非常简单,但是放到服务器上,通过外网访问后就会出现一个警告 我们需要通过js调用摄像头,但在此之前我们需要创建一个https服务器。所以,这篇博文就是帮助大家...
  • 原生js调用json方法

    千次阅读 2017-06-01 13:44:32
    HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index.php', function(data){ alert(data); //这是服务器返回的数据 }) POST:用于上传数据,如用户注册 v
  • js调用后台方法

    千次阅读 2011-02-09 17:16:00
    1. javaScript函数中执行C#代码中的函数:方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementByIdx("btn1").click(); 3、在前台或后台...
  • Ajax是异步Javascript和XML(Asynchronous JavaScript and XML)的英文缩写。”Ajax”这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Ajax的核心理念在于使用XMLHttpRequest对象...
  • JS调用后台方法

    2012-10-15 09:16:52
    1.如何在JavaScript访问C#函数?  2.如何在JavaScript访问C#变量? ... 3.如何在C#中访问JavaScript的已有变量?... 4.如何在C#中访问JavaScript函数?... 方法一:  1、首先建立一个按钮,比如命名为btnDemo,在后

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 371,014
精华内容 148,405
关键字:

js调用服务器方法