zoukankan      html  css  js  c++  java
  • C#代码与javaScript函数的相互调用

    我们通过问答的方式来为大家解答C#与JAVASCRIPT函数的相互调用:1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数?

      问题1答案如下:

      javaScript函数中执行C#代码中的函数:

      方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;

      2、在前台写一个js函数,内容为document.getElementById("btn1").click();

      3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;

      方法二:1、函数声明为public

      后台代码(把public改成protected也可以)

    以下是引用片段:
      public string ss()
      {
      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里有:

    以下是引用片段:
      public Page_OnLoad()
      {
      if (!Page.IsPost())
      {
      string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
      //根据传回来的值决定调用哪个函数
      switch(strFunName)
      {
      case "enter()":
      enter() ; //调用该函数
      break;
      case "其他":
      //调用其他函数
      break;
      default:
      //调用默认函数
      break;
      }
      }
      }
      public void enter()
      {
      //……比如计算某值
      }

    问题2.如何在JavaScript访问C#变量?

      答案如下:

      方法一:1、通过页面上隐藏域访问<input id="xx" type="hidden" runat="server"> 

      方法二:1、如后台定义了PUBLIC STRING N;前台js中引用该变量的格式为’ <% =n %>’或"+ <% =n %>+"

      方法三:1、或者你可以在服务器端变量赋值后在页面注册一段脚本

      "<script language=’javascript’>var temp=" + tmp + "</script>"    tmp是后台变量,然后js中可以直接访问temp获得值。

      问题3.如何在C#中访问JavaScript的已有变量?

      答案如下:

      方法一:1、前台使用静态文本控件隐藏域,将js变量值写入其中;

      2、后台用request["id"]来获取值;

      方法二:可以用cookie或session

      问题4.如何在C#中访问JavaScript函数?

      答案如下:

      c#代码中执行javaScript函数:

      方法一:1、Page.RegisterStartupScript("ggg"," ");

      方法二:使用Literal类,然后

    以下是引用片段:
      private void Button2_Click(object sender, System.EventArgs e)
      {
      string str;
      str="";
      //Literal1.Visible=true;
      Literal1.Text=str;
      }

    一个小例子:
          function show(obj,open)
          {
            var div = document.getElementById(obj);
            var a = document.getElementById(open);
            if (div.style.display == "none")
            {
                div.style.display = "block";
                a.innerText = "取消添加";
            }
            else
            {
                div.style.display = "none";
                a.innerText = "添加产品";
            }
    }

        function show2(obj)
        {
            if(obj=="1")
            {
                document.getElementById("div1").style.display = "block";
                document.getElementById("div2").style.display = "none";
            }
            else
            {
                document.getElementById("div2").style.display = "block";
                document.getElementById("div1").style.display = "none";
            }
        }

        验证是否是数字.
        JS
        function limitNum(obj,id) {
            if(obj.value.replace(/[\d+]/ig,"").length>0) {
                alert('请输入数字');
                document.getElementById(id).innerText = "";
            }
        }
        
        cs文件中注册事件
        this.TextBox4.Attributes.Add("onKeyup", "limitNum(this,id)");

       
  • 相关阅读:
    TF-IDF理解及其Java实现
    Java两种方式简单实现:爬取网页并且保存
    PHP网站环境搭配: Apache Http+PHP+Mysql
    String与InputStream相互转换
    Eclipse工程文件夹 红叹号
    查准与召回(Precision & Recall)
    IR的评价指标-MAP,NDCG和MRR
    Dubbo简介2
    SpringCloud 集锦
    dubbox 的各种管理和监管[转]
  • 原文地址:https://www.cnblogs.com/Caesar/p/1016799.html
Copyright © 2011-2022 走看看