http://www.aygfsteel.com/ebecket 返還網(wǎng)
          隨筆-140  評(píng)論-11  文章-131  trackbacks-0
          C#代碼與javaScript函數(shù)的相互調(diào)用

          問:
          1.如何在JavaScript訪問C#函數(shù)?
          2.如何在JavaScript訪問C#變量?
          3.如何在C#中訪問JavaScript的已有變量?
          4.如何在C#中訪問JavaScript函數(shù)?

            問題1答案如下:
          javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù):
          方法一:1、首先建立一個(gè)按鈕,在后臺(tái)將調(diào)用或處理的內(nèi)容寫入button_click中;
                  2、在前臺(tái)寫一個(gè)js函數(shù),內(nèi)容為document.getElementById("btn1").click();
                  3、在前臺(tái)或后臺(tái)調(diào)用js函數(shù),激發(fā)click事件,等于訪問后臺(tái)c#函數(shù);

          方法二:1、函數(shù)聲明為public             
                    后臺(tái)代碼(把public改成protected也可以)
                    public string ss()
                    {
                        return("a");
                    }
                  2、在html里用 <%=fucntion()%>可以調(diào)用
                    前臺(tái)腳本
                    <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="你要調(diào)用的函數(shù)名";
                  document.form[0].submit();
              }
          }
          </script>

          <INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">
          <input type="hidden" name="FunName"> 〈!--用來存儲(chǔ)你要調(diào)用的函數(shù) --〉

          在.CS里有:
          public Page_OnLoad()
          {
            if (!Page.IsPost())
            {
              string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
              //根據(jù)傳回來的值決定調(diào)用哪個(gè)函數(shù)
              switch(strFunName)
            {
              case "enter()":
                    enter() ; //調(diào)用該函數(shù)
                    break;
              case "其他":
              //調(diào)用其他函數(shù)
                    break;
              default:
              //調(diào)用默認(rèn)函數(shù)
                    break;
            }
          }
          }

          public void enter()
          {
          //……比如計(jì)算某值
          }

          問題2.如何在JavaScript訪問C#變量?
          答案如下:
          方法一:1、通過頁(yè)面上隱藏域訪問 <input id="xx" type="hidden" runat="server">
          方法二:1、如后臺(tái)定義了PUBLIC STRING N;前臺(tái)js中引用該變量的格式為' <%=n%>'或"+ <%=n%>+"
          方法三:1、或者你可以在服務(wù)器端變量賦值后在頁(yè)面注冊(cè)一段腳本
                      " <script language='javascript'>var temp=" + tmp + " </script>"
                      tmp是后臺(tái)變量,然后js中可以直接訪問temp獲得值。


          問題3.如何在C#中訪問JavaScript的已有變量?

          答案如下:

          方法一:1、前臺(tái)使用靜態(tài)文本控件隱藏域,將js變量值寫入其中;
                  2、后臺(tái)用request["id"]來獲取值;

          方法二:可以用cookie或session


          問題4.如何在C#中訪問JavaScript函數(shù)?
          答案如下:
          C#代碼中執(zhí)行javaScript函數(shù):
          方法一:1、Page.RegisterStartupScript("ggg"," <script>SetVisible(1); </script>");
          方法二:使用Literal類,然后
          private void Button2_Click(object sender, System.EventArgs e)
          {
          string str;
          str=" <script language='javascript'>";
          str+="selectRange()";
          str+=" </script>";
          //Literal1.Visible=true;
          Literal1.Text=str;
          }
          posted on 2009-11-04 14:48 becket_zheng 閱讀(121) 評(píng)論(0)  編輯  收藏 所屬分類: 網(wǎng)頁(yè)web前端技術(shù)
          主站蜘蛛池模板: 农安县| 张北县| 循化| 南靖县| 尚志市| 南皮县| 耒阳市| 东光县| 余庆县| 汉阴县| 上虞市| 保靖县| 巴塘县| 霍城县| 读书| 孟连| 中卫市| 佛教| 措美县| 晋宁县| 芦山县| 昌乐县| 阳信县| 旌德县| 公主岭市| 二连浩特市| 宜川县| 新化县| 乌拉特后旗| 罗源县| 辽中县| 墨竹工卡县| 丰顺县| 河津市| 咸阳市| 深州市| 上高县| 大新县| 泾川县| 香格里拉县| 临邑县|