本文目錄一覽:
- 1、關於JS 代碼 如何在後台調用
- 2、javascript onclick中怎麼調用後台方法
- 3、如何利用JS實現對後台CS代碼的調用
- 4、asp.net js 腳本中用動態調用後台代碼
- 5、如何用js調用後台方法
- 6、javascript怎麼調用後台方法
關於JS 代碼 如何在後台調用
首先要保證js腳本是否加載完成。通過
Response.Write(“script type=”text/javascript” src=”ymPrompt/ymPrompt.js”/script”);
加載js。
調用則寫在後面
Response.Write(“script type=”text/javascript” ymPrompt.alert()/script”);
以上都是通過response的寫入頁面的方法做的。
最好還是通過跳轉頁面,用頁面的加載js腳本比較好控制
javascript onclick中怎麼調用後台方法
方法一:1、首先建立一個按鈕,在後台將調用或處理的內容寫入button_click中;
2、在前台寫一個js函數,內容為document.getElementById(btn1).click();
3、在前台或後台調用js函數,激發click事件,等於訪問後台c#函數;
方法二:1、函數聲明為public
後台代碼(把public改成protected也可以)
public string ss(){return(a);}2、在html里用<%=fucntion()%>可以調用前台腳本<script language=javascript>
var a = <%=ss()%>;alert(a);</script>
方法三:1、<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=你要調用的函數名;
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]:;
//根據傳回來的值決定調用哪個函數
如何利用JS實現對後台CS代碼的調用
正常情況是不能這樣使用的,但是可能通過工具(RPC)或者接口(API)等間接來實現。
RPC(Remote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。
API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
從上面的描述可知,兩種方法都是可以達到目的,但是使用 RPC 更簡單,更容易理解,可以去找符合你使用的 RPC 相關程序。
asp.net js 腳本中用動態調用後台代碼
想法很好,但是這是不可行的。
%%的代碼是在服務器端執行的,而js腳本是在客戶端的瀏覽器中執行的。也就是說%%會先於js執行。如果要在js中調用後台代碼,建議你使用Ajax。
如何用js調用後台方法
方法一:
1、首先建立一個按鈕,在後台將調用或處理的內容寫入Button1_Click中;
protected void Button1_Click(object sender, EventArgs e)
{
this.TextBox1.Text = “voodooer”;
}
2、在前台可以這樣調用:
input type=”button” value=”訪問C#的方法” onclick=’document.getElementById(“Button1”).click();’ /
方法二:1、函數聲明為public 或者protected
public string ss()
{
return(“voodooer”);
}
2、 前台js調用方法
var a = ” %=ss()%”;
alert(a);
方法三:
1、 前台代碼
script
function __doPostBack(eventTarget, eventArgument) {
var theForm = document.Form1; //指runat=server的form
theForm.__EVENTTARGET.value = eventTarget;
theFrom.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
/scriptinput type=”button” value=”按鈕”
方法四:
1、前台代碼
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 type=”text”
input type=”hidden” 〈!–用來存儲要調用的函數 –〉
javascript怎麼調用後台方法
方法一:直接使用%=%調用
前台JS:
[javascript] view plain copy
script type=”text/javascript”
var methodStr = “%=BehindMethod() %”;
alert(methodStr);
/script
後頭方法:
[csharp] view plain copy
public static string BehindMethod()
{
return “這是一個後台的方法”;
}
方法二:用ajax調用
前台js:
[javascript] view plain copy
script type=”text/javascript” src=”js/jquery-1.4.3.min.js”/script
script type=”text/javascript”
var params = ‘{ext:”p9hp”}’; //參數,注意參數名要注意和後台方法參數名要一致
$(function(){
$(“#btnOk”).click(function(){
$.ajax({
type:”POST”, //請求方式
url:”AjaxDemo.aspx/GetImg”, //請求路徑:頁面/方法名字
data: params, //參數
dataType:”text”,
contentType:”application/json; charset=utf-8″,
beforeSend:function(XMLHttpRequest){
$(“#tips”).text(“開始調用後頭方法獲取圖片路徑,請等待”);
$(“#imgFood”).attr(“src”,”image/loading.gif”);
},
success:function(msg){ //成功
$(“#imgFood”).attr(“src”,eval(“(“+msg+”)”).d);
$(“#tips”).text(“調用方法結束”);
},
error:function(obj, msg, e){ //異常
alert(“OH,NO”);
}
});
});
});
/script
頁面html:
[html] view plain copy
body
form id=”form1″ runat=”server”
div
label id=”tips”/label
img id=”imgFood” /
input value=”點擊我,給你看一張圖片” type=”button” width=”35px” id=”btnOk” /
/div
/form
/body
後台方法:
[csharp] view plain copy
[System.Web.Services.WebMethod]
public static string GetImg(string ext)
{
System.Threading.Thread.Sleep(5000);//為了有點等待的效果,延遲5秒
StringComparer sc = StringComparer.OrdinalIgnoreCase;
string[] extArr = new string[] { “php”, “asp”, “aspx”, “txt”, “bmp” };
bool f = extArr.Any(s=sc.Equals(s,ext)); //判斷傳入的後綴名是否存在
if (f)
{
return “image/54222860.jpg”;
}
return “image/star1.jpg”;
}
方法三:AjaxPro (也是ajax)
第一步:下載AjaxPro.dll(或者AjaxPro.2.dll),並且添加引用到項目
第二步:修改配置文件web.config
[csharp] view plain copy
system.web
httpHandlers
!–註冊ajaxPro.2–
add verb=”*” path=”*.ashx” type=”AjaxPro.AjaxHandlerFactory,AjaxPro.2″/
/httpHandlers
/system.web
第三步:對AjaxPro在頁Page_Load事件中進行運行時註冊。如:
[csharp] view plain copy
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(AjaxDemo)); //註冊
}
第四步:創建服務器方法,並且用[AjaxPro.AjaxMethod]標註
[csharp] view plain copy
[AjaxPro.AjaxMethod]
public string GetImgByAjaxPro()
{
return “image/54222860.jpg”;
}
第五步:前台JS的調用:
[javascript] view plain copy
function GetMethodByAjaxPro() {
var a = JustTest.AjaxDemo.GetImgByAjaxPro();//JustTest是當前的名字空間,AjaxDemo表示後台類
document.getElementById(“imgAjaxPro”).src = a.value;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/244987.html