日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#和javascript的简单交互

發布時間:2025/5/22 C# 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#和javascript的简单交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

1.asp.net呼叫js
???
???????????????????? Response.Write("<script language=javascript>");
???????????????????? Response.Write("alert('登峰歡迎您 ');" );
???????????????????? Response.Write("location.href='login.aspx';") ;
???????????????????? Response.Write("</script>") ;


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

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


???????? 界面上有一個TextBox控件,ID為Name,js里可以采用如下腳本取Name的值
???????? var myvalue=document.all('Name').value;

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


?????? 方法是在界面上放一個隱藏的控件HtmlInputHidden,然后設置為以服務器控件運行,這樣在js腳本中和ASP.NET代碼里都可以訪問到該控件的值
???????? js中給服務器控件賦值:
???????? var bt=document.all('Name').value;
???????? bt.value='名稱';
???????? ASP.NET中使用Name.Value來訪問。

4.前臺和后臺之間函數的調用

<head runat="server">
??? <title>Untitled Page</title>
??? <script type="text/javascript">
??? function callServer(arg){
??????? var oTb = document.getElementById('<%=editValue.ClientID %>');
??????? // arg中是傳給服務器的變量
??????? arg = oTb.value;
??????? <%=ClientScript.GetCallbackEventReference(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 : System.Web.UI.Page , 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
}


5.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里用<%=fucntion()%>可以調用
?????????????? 前臺腳本
??????????????? <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','')">

方法四:?????? <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()
???????????????? {
????????????????? //……比如計算某值
????????????????? }

6.如何在JavaScript訪問C#變量?

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

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


??????? c#代碼中執行javaScript函數:
???????????? 方法一: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;
?????????? }

轉載于:https://www.cnblogs.com/mzoylee/archive/2009/07/07/1518220.html

總結

以上是生活随笔為你收集整理的C#和javascript的简单交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。