首頁  >  文章  >  後端開發  >  .net與javascript腳本的互動方法總結

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

高洛峰
高洛峰原創
2017-01-21 14:54:191178瀏覽

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

1.asp.net呼叫js

Response.Write("71180f37797591dcd47c07c8f651453f");
Response.Write("alert('登峰欢迎您 ');" );
Response.Write("location.href='login.aspx';") ;
Response.Write("2cacc6d41bbb37262a98f745aa00fbf0") ;

在這裡情況下,你可以呼叫頁面中的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.前台與後台之間函數的呼叫

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
9c3bca370b5104690d9ef395f2c5f8d1
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裡用可以呼叫
前台腳本

<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中引用該變數的格式為''或"++"

方法三:或者你可以在伺服器端變數賦值後在頁面註冊一段腳本
"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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn