| 導購 | 订阅 | 在线投稿
分享
 
 
 

.net中前台javascript與c#後台代碼調用

2008-11-06 07:16:03  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  .net中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裏用可以調用

  前台腳本

  <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中引用該變量的格式爲''或"++"

  方法三: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;

  }
 
.net中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裏用可以調用   前台腳本 <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中引用該變量的格式爲''或"++"   方法三: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;   }
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有