Zusammenfassung der Interaktionsmethoden zwischen .net- und Javascript-Skripten

高洛峰
Freigeben: 2017-01-21 14:54:19
Original
1174 Leute haben es durchsucht

Das Beispiel in diesem Artikel fasst die Interaktionsmethode zwischen .net- und Javascript-Skripten zusammen und teilt sie als Referenz mit allen. Die spezifische Methode lautet wie folgt:

1.asp.net ruft js auf

Response.Write("<script language=javascript>");
Response.Write("alert('登峰欢迎您 ');" );
Response.Write("location.href='login.aspx';") ;
Response.Write("</script>") ;
Nach dem Login kopieren

In diesem Fall können Sie jede Funktion des JS-Skripts auf der Seite aufrufen

2, Wie greift das JS-Skript auf den Wert des Serversteuerelements zu?

Auf der Schnittstelle gibt es ein TextBox-Steuerelement mit dem ID-Namen. Sie können das folgende Skript verwenden, um den Wert des zu erhalten Name.

var myvalue=document.all('Name').value;
Nach dem Login kopieren

3. Wie wäre es mit der Serversteuerung, um den Wert einer Variablen in js zu erhalten? als Serversteuerelement, sodass auf den Wert des Steuerelements sowohl in JS-Skripten als auch im ASP.NET-Code zugegriffen werden kann
Zuweisen von Werten zu Serversteuerelementen in JS:

var bt=document.all('Name').value;
bt.value='名称';
Nach dem Login kopieren
Verwenden Sie Name.Value für den Zugriff in ASP.NET.

4. Funktionsaufrufe zwischen Vordergrund und Hintergrund

CS-Datei:
<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>
Nach dem Login kopieren

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
}
Nach dem Login kopieren
5. Führen Sie C#-Code im JavaScript aus Funktion Funktion in:


Methode 1:
①, erstellen Sie zuerst eine Schaltfläche und schreiben Sie den aufrufenden oder verarbeiteten Inhalt in button_click im Hintergrund;
②, schreiben Sie eine js-Funktion in den Vordergrund Der Inhalt ist

document.getElementById("btn1").click();
Nach dem Login kopieren
③ Rufen Sie die js-Funktion im Vordergrund oder Hintergrund auf, um das Klickereignis auszulösen, was dem Zugriff auf die Hintergrund-c#-Funktion entspricht

Methode 2:

①. Die Funktion ist als öffentlicher
Backend-Code deklariert (Sie können auch „öffentlich“ in „geschützt“ ändern)

public string ss()
{
return("a");
}
Nach dem Login kopieren
②, verwenden Sie <%=fucntion()%> in HTML, um <🎜 zu verwenden >Vordergrundskript


Methode drei:
<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
Nach dem Login kopieren
①,


Methode vier:
<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;)">
Nach dem Login kopieren

In .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"> <!--用来存储你要调用的函数 -->
Nach dem Login kopieren

6. In JavaScript Zugriff auf die C#-Variable
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()
{
//……比如计算某值
}
Nach dem Login kopieren

Methode 1: Zugriff auf

über die versteckte Domäne auf der Seite Methode 2: Wenn PUBLIC STRING N im Hintergrund definiert ist; Das Format zum Verweisen auf diese Variable im Front-End-JS ist „< %=n%>“ oder „+<%=n%>+“
<input id="xx" type="hidden" runat="server">
Nach dem Login kopieren
Methode 3: Oder Sie können ein Skript auf dem registrieren Seite nach dem Zuweisen von Werten zu serverseitigen Variablen

""
tmp ist eine Hintergrundvariable und dann Auf temp kann in js direkt zugegriffen werden, um den Wert zu erhalten.

7. Auf JavaScript-Funktionen in C# zugreifen

JavaScript-Funktionen in C#-Code ausführen:

Methode 1:


Methode 2: Verwenden Sie die Literal-Klasse und dann
Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für alle bei der C#-Programmierung hilfreich sein wird.
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;
}
Nach dem Login kopieren

Weitere verwandte Artikel zur Zusammenfassung der Interaktionsmethoden zwischen .net- und Javascript-Skripten finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage