Maison >développement back-end >Tutoriel C#.Net >Résumé des méthodes d'interaction entre les scripts .net et javascript
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("71180f37797591dcd47c07c8f651453f"); Response.Write("alert('登峰欢迎您 ');" ); Response.Write("location.href='login.aspx';") ; Response.Write("2cacc6d41bbb37262a98f745aa00fbf0") ;
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;
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='名称';
Utiliser Name.Value pour accéder dans ASP.NET.
4. Appels de fonction entre le premier plan et l'arrière-plan
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 9c3bca370b5104690d9ef395f2c5f8d1Fichier 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 }
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();
③. 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"); }
②, utilisez 9f2f1a360c63ff2b1c1b39dcdef63316 >Script de premier plan
<script language=javascript> var a = "<%=ss()%>"; alert(a); </script>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('Button1','')">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"> <!--用来存储你要调用的函数 -->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() { //……比如计算某值 }6. En JavaScript Accéder à la variable C# Méthode 1 : Accéder à
<input id="xx" type="hidden" runat="server">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 '4f823ce34684d4c5398334228f03224b' ou " ed6d00bd7543ae3a0702774e79a7199d "
Méthode 3 : Ou vous pouvez enregistrer un script sur la page après attribuer des valeurs aux variables côté serveur
"87a0f50af32883e07847dbe212726163var temp=" tmp "2cacc6d41bbb37262a98f745aa00fbf0"
tmp est une variable d'arrière-plan, puis temp peut être directement accessible en js pour obtenir la valeur.
Méthode 1 :
Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");Méthode 2 : Utiliser la classe Literal, et alors
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; }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 !