javascript與asp.net(c#)互相調(diào)用方法
<a src= 'http://<%=Request.Url.Host %><%= ResolveUrl("../PayCenter/AlipayAdd.aspx")%>'>地址</a>
2、C#調(diào)用客戶端方法:(top.window.document:表父窗體,如果是MainFrame對(duì)象在本窗體中,則不加top.window.document)
Js中的方法:
function navurl(url) {
$("#mainFrame",top.window.document).attr("src", url);
}
C#調(diào)用:
string navUrl = "javascript:navurl('" + "http://" + Request.Url.Host + ResolveUrl("../Document/callIndex.aspx?FolderId=");
DocName.NavigateUrl = navUrl + txtDocId.Value.Trim() + "')";
3. C#調(diào)用客戶端方法:
page.ClientScript.RegisterStartupScript(page.GetType(), "message", "<script language='javascript'>alert('" + msg.ToString() + "');</script>");
下面要解決的問(wèn)題如下:
1.如何在JavaScript訪問(wèn)C#函數(shù)?
2.如何在JavaScript訪問(wèn)C#變量?
3.如何在C#中訪問(wèn)JavaScript的已有變量?
4.如何在C#中訪問(wèn)JavaScript函數(shù)?
問(wèn)題1答案如下:
javaScript函數(shù)中執(zhí)行C#代碼中的函數(shù):
方法一:
1、首先建立一個(gè)按鈕,在后臺(tái)將調(diào)用或處理的內(nèi)容寫入button_click中;
2、在前臺(tái)寫一個(gè)js函數(shù),內(nèi)容為document.getElementById("btn1").click();
3、在前臺(tái)或后臺(tái)調(diào)用js函數(shù),激發(fā)click事件,等于訪問(wèn)后臺(tái)c#函數(shù);
方法二:
1、函數(shù)聲明為public
后臺(tái)代碼(把public改成protected也可以)
public string ss()
{
return("a");
}
2、在 html 里用可以調(diào)用前臺(tái)腳本
<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('Button1','')">
方法四:
<script language="javascript">
function SubmitKeyClick()
{
if (event.keyCode == 13)
{
event.cancelBubble = true;
event.returnValue = false;
document.all.FunName.value="你要調(diào)用的函數(shù)名";
document.form[0].submit();
}
}
</script>
<INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text">
<input type="hidden" name="FunName"> 〈!--用來(lái)存儲(chǔ)你要調(diào)用的函數(shù) --〉
在.CS里有:
public Page_OnLoad()
{
if (!Page.IsPost())
{
string strFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
//根據(jù)傳回來(lái)的值決定調(diào)用哪個(gè)函數(shù)
switch(strFunName)
{
case "enter()":
enter() ; //調(diào)用該函數(shù)
break;
case "其他":
//調(diào)用其他函數(shù)
break;
default:
//調(diào)用默認(rèn)函數(shù)
break;
}
}
}
public void enter()
{
//……比如計(jì)算某值
}
問(wèn)題2.如何在JavaScript訪問(wèn)C#變量?
答案如下:
方法一:1、通過(guò)頁(yè)面上隱藏域訪問(wèn) <input id="xx" type="hidden" runat="server">
方法二:1、如后臺(tái)定義了PUBLIC STRING N; 前臺(tái)js中引用該變量的格式為''或"++"
方法三:1、或者你可以在服務(wù)器端變量賦值后在頁(yè)面注冊(cè)一段腳本
"<script language='javascript'>var temp=" + tmp + "</script>"
tmp是后臺(tái)變量,然后js中可以直接訪問(wèn)temp獲得值。
問(wèn)題3.如何在C#中訪問(wèn)JavaScript的已有變量?
答案如下:
方法一:1、前臺(tái)使用靜態(tài)文本控件隱藏域,將js變量值寫入其中;2、后臺(tái)用request["id"]來(lái)獲取值;
方法二:可以用cookie或session
問(wèn)題4.如何在C#中訪問(wèn)JavaScript函數(shù)?
答案如下:
c#代碼中執(zhí)行javaScript函數(shù):
方法一:1、
Page.RegisterStartupScript("ggg"," ");
方法二:使用Literal類,然后
private void Button2_Click(object sender, System.EventArgs e)
{
string str;
str=" ";
//Literal1.Visible=true;
Literal1.Text=str;
}
- C#后臺(tái)調(diào)用前臺(tái)JS函數(shù)方法
- C#使用Http Post方式傳遞Json數(shù)據(jù)字符串調(diào)用Web Service
- 使用C# 的webBrowser寫模擬器時(shí)的javascript腳本調(diào)用問(wèn)題
- 淺談C#下winform和JS的互相調(diào)用和傳參(webbrowser)
- c#和javascript函數(shù)相互調(diào)用示例分享
- Javascript調(diào)用C#代碼
- C#后臺(tái)調(diào)用前臺(tái)javascript的五種方法小結(jié)
- Javascript 直接調(diào)用服務(wù)器C#代碼 ASP.NET Ajax實(shí)例
- 在C#中調(diào)用VBScript、javascript等腳本的實(shí)現(xiàn)代碼
- C# javaScript函數(shù)的相互調(diào)用
- .net中前臺(tái)javascript與后臺(tái)c#函數(shù)相互調(diào)用問(wèn)題
- C#調(diào)用JS的幾種方法
相關(guān)文章
javascript中兼容主流瀏覽器的動(dòng)態(tài)生成iframe方法
這篇文章主要介紹了javascript中兼容主流瀏覽器的動(dòng)態(tài)生成iframe方法,需要的朋友可以參考下2014-05-05微信小程序?qū)崿F(xiàn)滑動(dòng)翻頁(yè)效果(完整代碼)
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)滑動(dòng)翻頁(yè)效果,本文通過(guò)效果圖展示實(shí)例代碼講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)讀取與輸出XML文件數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了JavaScript基于ActiveXObject實(shí)現(xiàn)載入、讀取與輸出xml文件數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2018-06-06JavaScript實(shí)現(xiàn)寫入文件到本地的方法【基于FileSaver.js插件】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)寫入文件到本地的方法,結(jié)合實(shí)例形式分析了基于FileSaver.js插件實(shí)現(xiàn)保存文件到本地的相關(guān)操作技巧,并附帶FileSaver.js插件完整源碼,需要的朋友可以參考下2018-03-03layui 上傳插件 帶預(yù)覽 非自動(dòng)上傳功能的實(shí)例(非常實(shí)用)
今天小編就為大家分享一篇layui 上傳插件 帶預(yù)覽 非自動(dòng)上傳功能的實(shí)例(非常實(shí)用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片實(shí)例代碼
大家都知道Swiper(Swiper master)是目前應(yīng)用較廣泛的移動(dòng)端網(wǎng)頁(yè)觸摸內(nèi)容滑動(dòng)js插件。下面這篇文章主要給大家介紹了在JS中利用swiper實(shí)現(xiàn)3d翻轉(zhuǎn)幻燈片的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08js點(diǎn)亮星星評(píng)分并獲取參數(shù)的js代碼
點(diǎn)亮星星評(píng)分后,點(diǎn)擊按鈕,立即獲得分?jǐn)?shù)參數(shù)值,方便不想使用ajax傳參的朋友2014-07-07JS日期對(duì)象簡(jiǎn)單操作(獲取當(dāng)前年份、星期、時(shí)間)
這篇文章主要介紹了JS日期對(duì)象簡(jiǎn)單操作,獲取當(dāng)前年份、星期、時(shí)間等代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10