ホームページ >バックエンド開発 >C#.Net チュートリアル >.net と JavaScript スクリプト間の対話方法の概要

.net と JavaScript スクリプト間の対話方法の概要

高洛峰
高洛峰オリジナル
2017-01-21 14:54:191212ブラウズ

この記事の例は、.net と JavaScript スクリプト間の対話方法を要約し、参考のために皆さんと共有します。具体的な方法は次のとおりです:

1.asp.net は js

Response.Write("71180f37797591dcd47c07c8f651453f");
Response.Write("alert('登峰欢迎您 ');" );
Response.Write("location.href='login.aspx';") ;
Response.Write("2cacc6d41bbb37262a98f745aa00fbf0") ;
を呼び出します

この場合、ページ内の JS スクリプトの任意の関数を呼び出すことができます

2. js スクリプトはサーバーの値にどのようにアクセスしますか?コントロール

インターフェイス上で、Name の ID を持つ TextBox コントロールを使用して、js

var myvalue=document.all('Name').value;

3 の変数の値を取得する方法を説明します。インターフェイスに隠しコントロール HtmlInputHidden を配置し、それをサーバーに設定します。コントロールが実行され、js スクリプトや ASP.NET コードでコントロールの値にアクセスできるようになります。サーバー コントロールに値を割り当てます。 js:

var bt=document.all('Name').value;
bt.value='名称';

ASP.NETのName.Valueを使用してアクセスします。

4. フォアグラウンドとバックグラウンド間の関数呼び出し

22e6244c9f89e2a72231546ed5a2733f
b2386ffb911b14667cb8f0f91ea547a7Untitled Page6e916e0f7d1e588d4f442bf645aedb2f
8019067d09615e43c7904885b5246f0a
function callServer(arg){
var oTb = document.getElementById('bf1c2373e49a059295411976a528fbb7');
// arg中是传给服务器的变量
arg = oTb.value;
64abc476f6f75c293c21d33595357e63
}
function receiveServerResult(result){
// 在这里添加处理服务器返回结果的逻辑,result变量是服务器返回的结果
alert(result);
}
2cacc6d41bbb37262a98f745aa00fbf0
...//此处省略部分代码
1d10ac1db03845f51bad4fbeb7db3775
1b15f251253d229eac1442f9007b2b5a
9c3bca370b5104690d9ef395f2c5f8d1
CS ファイル:

C# コード
//页面类继承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 に書き込みます
②。フォアグラウンドまたはバックグラウンドで js 関数を呼び出して、click イベントをトリガーします。バックグラウンド C# 関数;

方法 2 :

①。関数は public

backend コードとして宣言されます (public を protected に変更することもできます)

document.getElementById("btn1").click();

②。
フロントエンド スクリプト

public string ss()
{
return("a");
}

方法 3:

①、

<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>

方法 4:

<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(&#39;Button1&#39;,&#39;&#39;)">

.CS 内:

<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"> <!--用来存储你要调用的函数 -->

6. JavaScript で C# 変数にアクセスする

方法 1: 隠しフィールドを介して

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: PUBLIC がバックグラウンドで定義されている場合 STRING N; フロントエンド JS でこの変数を参照する形式は 'ed6d00bd7543ae3a0702774e79a7199d' または "+ed6d00bd7543ae3a0702774e79a7199d+ "

方法 3: または、スクリプトの登録ページでサーバー側変数に値を割り当てることもできます

"68863cd23d0f8fc0a66f752222e1fd96var temp=" + tmp + "2cacc6d41bbb37262a98f745aa00fbf0"

tmp はバックグラウンド変数なので、js で temp に直接アクセスして値を取得できます。


7. C# で JavaScript 関数にアクセスする

C# コードで JavaScript 関数を実行する:

方法 1:

<input id="xx" type="hidden" runat="server">

方法 2: Literal クラスを使用してから

Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");

この記事が皆様の C# プログラミング設計に役立つことを願っています。

.net と JavaScript スクリプト間の対話方法をまとめたその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。