Maison > développement back-end > Tutoriel C#.Net > Résumé des méthodes d'interaction entre les scripts .net et javascript

Résumé des méthodes d'interaction entre les scripts .net et javascript

高洛峰
Libérer: 2017-01-21 14:54:19
original
1188 Les gens l'ont consulté

L'exemple de cet article résume la méthode d'interaction entre les scripts .net et javascript, et la partage avec tout le monde pour votre référence. La méthode spécifique est la suivante :

1.asp.net appelle js

Response.Write("<script language=javascript>");
Response.Write("alert('登峰欢迎您 ');" );
Response.Write("location.href='login.aspx';") ;
Response.Write("</script>") ;
Copier après la connexion

Dans ce cas, vous pouvez appeler n'importe quelle fonction du script JS dans la page

2 , Comment le script js accède-t-il à la valeur du contrôle serveur ?

Il y a un contrôle TextBox sur l'interface avec le nom ID En js, vous pouvez utiliser le script suivant pour obtenir la valeur du. Nom.

var myvalue=document.all('Name').value;
Copier après la connexion

3. Qu'en est-il du contrôle serveur ? La méthode pour obtenir la valeur d'une variable dans js
consiste à placer un contrôle caché HtmlInputHidden sur l'interface, puis à le configurer pour qu'il s'exécute. en tant que contrôle serveur, afin que la valeur du contrôle soit accessible à la fois dans les scripts js et dans le code ASP.NET
Attribuer des valeurs aux contrôles serveur dans js :

var bt=document.all('Name').value;
bt.value='名称';
Copier après la connexion

Utiliser Name.Value pour accéder dans ASP.NET.

4. Appels de fonction entre le premier plan et l'arrière-plan

<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>
Copier après la connexion
Fichier CS :

Code 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
}
Copier après la connexion

5. Exécuter le code C# dans le javaScript. function Fonction dans :

Méthode 1 :
①, créez d'abord un bouton et écrivez le contenu d'appel ou de traitement dans button_click en arrière-plan
②, écrivez une fonction js au premier plan, le le contenu est

document.getElementById("btn1").click();
Copier après la connexion

③. Appelez la fonction js au premier plan ou en arrière-plan pour déclencher l'événement click, ce qui équivaut à accéder à la fonction c# d'arrière-plan

Méthode 2 :
① La fonction est déclarée comme public
Code backend (vous pouvez également changer public en protected)

public string ss()
{
return("a");
}
Copier après la connexion

②, utilisez <%=fucntion()%> >Script de premier plan

<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
Copier après la connexion
Méthode trois :

①,

<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;)">
Copier après la connexion
Méthode quatre :

<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"> <!--用来存储你要调用的函数 -->
Copier après la connexion
En .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()
{
//……比如计算某值
}
Copier après la connexion
6. En JavaScript Accéder à la variable C#

Méthode 1 : Accéder à

<input id="xx" type="hidden" runat="server">
Copier après la connexion
via le domaine caché sur la page Méthode 2 : Si PUBLIC STRING N est défini en arrière-plan ; le format pour référencer cette variable dans le js front-end est '< %=n%>' ou " <%=n%> "

Méthode 3 : Ou vous pouvez enregistrer un script sur la page après attribuer des valeurs aux variables côté serveur
""
tmp est une variable d'arrière-plan, puis temp peut être directement accessible en js pour obtenir la valeur.

7. Accéder aux fonctions JavaScript en C#

Exécuter les fonctions javaScript en code C# :

Méthode 1 :

Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
Copier après la connexion
Méthode 2 : Utiliser la classe Literal, et alors

private void Button2_Click(object sender, System.EventArgs e)
{
string str;
str="<script language=&#39;javascript&#39;>";
str+="selectRange()";
str+="</script>";
//Literal1.Visible=true;
Literal1.Text=str;
}
Copier après la connexion
J'espère que cet article sera utile à la programmation C# de chacun.

Pour plus d'articles connexes résumant les méthodes d'interaction entre les scripts .net et javascript, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal