ASP.NET中前臺javascript與後臺代碼調用(2)

ASP.NET中前臺javascript與後臺代碼調用
2010-03-31 10:01

.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="按鈕" οnclick="javascript:__doPostBack('Button1','')">

  方法四: < language=javascript type=text/javascript>

  function SubmitKeyClick()

  {

  if (event.keyCode == 13)

  {

  event.cancelBubble = true;

  event.returnValue = false;

  document.all.FunName.value="你要調用的函數名";

  document.form[0].submit();

  }

  }

 

<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 οnkeypress="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;

  }

< type="text/javascript"> < type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js ">

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/greatchao88/archive/2008/06/03/2508628.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章