Summary of interaction methods between .net and javascript scripts

高洛峰
Release: 2017-01-21 14:54:19
Original
1174 people have browsed it

The examples in this article summarize the interaction methods between .net and javascript scripts and share them with you for your reference. The specific method is as follows:

1.asp.net calls js

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

In this case, you can call any function of the JS script in the page

2.js How does the script access the value of the server control?

There is a TextBox control on the interface with the ID as Name. You can use the following script to get the value of Name in js

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

3. How does the server control get the variable in js? The value
method is to put a hidden control HtmlInputHidden on the interface, and then set it to run as a server control, so that the value of the control can be accessed in js scripts and ASP.NET code
given in js Server control assignment:

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

Use Name.Value to access in ASP.NET.

4. Function calls between the foreground and the background

<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>
Copy after login
CS file:

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
}
Copy after login

5. Functions in the C# code executed in the javaScript function:

Method 1:
①. First create a button, and write the calling or processing content into button_click in the background;
②. Write a js function in the foreground with the content

document.getElementById("btn1").click();
Copy after login

③. Call the js function in the foreground or background to trigger the click event, which is equivalent to accessing the background c# function;

Method 2:
①. The function is declared as public
Backend code (change public to protected can also be used)

public string ss()
{
return("a");
}
Copy after login

②, use <%=fucntion()%> in html to call
front-end script

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

Method 3:
①,

<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;)">
Copy after login

Method 4:

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

In .CS there is:

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()
{
//……比如计算某值
}
Copy after login

6. Access C# variables in JavaScript

Method 1: Hidden fields on the page Access

<input id="xx" type="hidden" runat="server">
Copy after login

Method 2: If PUBLIC STRING N is defined in the backend; the format for referencing this variable in the frontend js is '<%=n%>' or "+<%=n%>+ "
Method 3: Or you can register a script on the page after assigning values ​​to server-side variables
""
tmp is a background variable, and then you can directly access temp in js to get the value.

7. Access JavaScript functions in C

#Execute javaScript functions in c# code:
Method 1:

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

Method 2: Use the Literal class, and then

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;
}
Copy after login

I hope this article will be helpful to everyone’s C# programming.

For more related articles on the summary of interaction methods between .net and javascript scripts, please pay attention to the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template