首頁 > 後端開發 > C#.Net教程 > .net與javascript腳本的互動方法總結

.net與javascript腳本的互動方法總結

高洛峰
發布: 2017-01-21 14:54:19
原創
1188 人瀏覽過

本文實例總結了.net與javascript腳本的互動方法,分享給大家供大家參考。具體方法如下:

1.asp.net呼叫js

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

在這裡情況下,你可以呼叫頁面中的JS腳本的函數都可以

2、js腳本如何存取伺服器控制項的值

介面上有一個TextBox控件,ID為Name,js裡可以採用如下腳本取Name的值

var myvalue=document.all('Name').value;
登入後複製

3、伺服器控制項如何取js中變數的值
方法是在介面上放一個隱藏的控制項HtmlInputHidden,然後設定為以伺服器控制項運行,這樣在js腳本中和ASP.NET程式碼裡都可以存取到該控制項的值
js中給伺服器控制項賦值:

var bt=document.all('Name').value;
bt.value='名称';
登入後複製

ASP.NET中使用Name.Value來存取。

4.前台與後台之間函數的呼叫

<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>
登入後複製
CS檔:

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
}
登入後複製

5.javaScript函數中執行C#程式碼中的函數:

方法一:
①、先建立一個按鈕將呼叫或處理的內容寫入button_click中;
②、在前台寫一個js函數,內容為

document.getElementById("btn1").click();
登入後複製

③、在前台或後台調用js函數,激發click事件,等於訪問後台c#函數;

方法二: 
①、函數宣告為public
後台程式碼(把public改成protected也可以)

public string ss()
{
return("a");
}
登入後複製

②、在html裡用<%=fucntion()%>可以呼叫
前台腳本

<script language=javascript>
var a = "<%=ss()%>";
alert(a);
</script>
登入後複製

方法三: 、

<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;)">
登入後複製

方法四:

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

在.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.在JavaScript訪問C#變數

方法一:透過頁面上隱藏域存取

<input id="xx" type="hidden" runat="server">
登入後複製

方法:如後台定義了 NPU ; 前台js中引用該變數的格式為'<%=n%>'或"+<%=n%>+"

方法三:或者你可以在伺服器端變數賦值後在頁面註冊一段腳本
"< script language='javascript'>var temp=" + tmp + ""
tmp是後台變量,然後js中可以直接存取temp獲得值。

7.在C#中存取JavaScript函數

c#程式碼中執行javaScript函數:

方法一:

Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
登入後複製

方法二:使用Literal類,然後

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;
}
登入後複製
希望本文所述對大家的C程式設計有所幫助。

更多.net與javascript腳本的互動方法總結相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板