熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#與javascript簡單交互

2013-11-13 10:15:46  來源: .NET編程 

  呼叫js

  ResponseWrite(<script language=javascript>);

  ResponseWrite(alert(登峰歡迎您 ); );

  ResponseWrite(location;) ;

  ResponseWrite(</script>) ;

  在這裡情況下你可以調用頁面中的JS腳本的函數都可以

  js腳本如何訪問服務器控件的值

  界面上有一個TextBox控件ID為Namejs裡可以采用如下腳本取Name的值

  var myvalue=documentall(Name)value;

  服務器控件如何取js中變量的值

  方法是在界面上放一個隱藏的控件HtmlInputHidden然後設置為以服務器控件運行這樣在js腳本中和ASPNET代碼裡都可以訪問到該控件的值

  js中給服務器控件賦值

  var bt=documentall(Name)value;

  btvalue=名稱;

  ASPNET中使用NameValue來訪問

  前台和後台之間函數的調用

  <head runat=server>

  <title>Untitled Page</title>

  <script type=text/javascript>

  function callServer(arg){

  var oTb = documentgetElementById(<%=editValueClientID %>);

  // arg中是傳給服務器的變量

  arg = oTbvalue;

  <%=ClientScriptGetCallbackEventReference(this arg receiveServerResult null true)%>

  }

  function receiveServerResult(result){

  // 在這裡添加處理服務器返回結果的邏輯result變量是服務器返回的結果

  alert(result);

  }

  </script>

  //此處省略部分代碼

  <asp:TextBox ID=editValue runat=server />

  <asp:Button ID=btnSubmit runat=server Text=Submit Data OnClientClick=callServer();return false; />

  </head>

  CS文件

  C# code

  //頁面類繼承ICallbackEventHandler接口並實現其中的兩個方法

  public partial class _Default : SystemWebUIPage ICallbackEventHandler

  {

  private string m_strResult = ;

  #region ICallbackEventHandler Members

  public string GetCallbackResult()

  {

  // 返回服務器端處理結果給receiveServerResult方法

  return m_strResult;

  }

  public void RaiseCallbackEvent(string eventArgument)

  {

  // eventArgument是客戶端傳來的變量對應arg變量

  // 在這裡添加服務器端處理邏輯

  m_strResult = eventArgument;

  }

  #endregion

  }

  javaScript函數中執行C#代碼中的函數

  方法一 首先建立一個按鈕在後台將調用或處理的內容寫入button_click中;

  在前台寫一個js函數內容為documentgetElementById(btn)click();

  在前台或後台調用js函數激發click事件等於訪問後台c#函數

  方法二 函數聲明為public

  後台代碼(把public改成protected也可以)

  public string ss()

  {

  return(a);

  }

  在html裡用<%=fucntion()%>可以調用

  前台腳本

  <script language=javascript>

  var a = <%=ss()%>;

  alert(a);

  </script>

  方法三 <script language=javascript

  <!

  function __doPostBack(eventTarget eventArgument)

  {

  var theForm = documentForm; //指runat=server的form

  theForm__EVENTTARGETvalue = eventTarget;

  theFrom__EVENTARGUMENTvalue = eventArgument;

  theFormsubmit();

  }

  

  </script>

  <input id=Button type=button name=Button value=按鈕 onclick=javascript              doPostBack(Button)

  方法四       <script language=javascript

  function SubmitKeyClick()

  {

  if (eventkeyCode == )

  {

  eventcancelBubble = true;

  eventreturnValue = false;

  documentallFunNamevalue=你要調用的函數名

  documentform[]submit();

  }

  }

  </script>

  <INPUT onkeypress=SubmitKeyClick() id=aaa type=text

  <input type=hidden name=FunName> 〈!用來存儲你要調用的函數

  在CS裡有

  public Page_OnLoad()

  {

  if (!PageIsPost())

  {

  string strFunName=RequestForm[FunName]!=null?RequestForm[FunName]:;

  //根據傳回來的值決定調用哪個函數

  switch(strFunName)

  {

  case enter():

  enter() ; //調用該函數

  break;

  case 其他:

  //調用其他函數

  break;

  default:

  //調用默認函數

  break;

  }

  }

  }

  public void enter()

  {

  //……比如計算某值

  }

  如何在JavaScript訪問C#變量?

  方法一通過頁面上隱藏域訪問<input id=xx type=hidden runat=server

  方法二如後台定義了PUBLIC STRING N; 前台js中引用該變量的格式為<%=n%>+<%=n%>+

  方法三或者你可以在服務器端變量賦值後在頁面注冊一段腳本

  <script language=javascript>var temp= + tmp + </script>

  tmp是後台變量然後js中可以直接訪問temp獲得值

  如何在C#中訪問JavaScript函數?

  c#代碼中執行javaScript函數

  方法一PageRegisterStartupScript(ggg<script>SetVisible(); </script>);

  方法二使用Literal類然後

  private void Button_Click(object sender SystemEventArgs e)

  {

  string str;

  str=<script language=javascript;

  str+=selectRange();

  str+=</script>;

  //LiteralVisible=true;

  LiteralText=str;

  }


From:http://tw.wingwit.com/Article/program/net/201311/13102.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.