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

ASP.NET中前台javascript與後台代碼調用

來源:互聯網  2008-09-05 07:10:42  評論

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;

}

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- 王朝網路 版權所有