本文目錄一覽:
- 1、如何在JS中調用.CS中的類
- 2、.cs中註冊的js函數怎麼調用.cs中的方法?
- 3、如何利用JS實現對後台CS代碼的調用
- 4、js外部文件如何調用cs文件中的函數.
- 5、如何在js中調用C#後台帶參函數
- 6、前台js如何調用後台cs有參數的方法
如何在JS中調用.CS中的類
不可能調用!應該是在服務端(c#)包裝好你的web方法,在客戶端js做一個代理調用之,然後在客戶端包裝一個類似的類存放代理的返回值。
.cs中註冊的js函數怎麼調用.cs中的方法?
javaScript函數中執行C#代碼中的函數:
方法一: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”]:””;
//根據傳回來的值決定調用哪個函數
switch(strFunName)
{
case “enter()”:
enter() ; //調用該函數
break;
case “其他”:
//調用其他函數
break;
default:
//調用默認函數
break;
}
}
}
public void enter()
{
//……比如計算某值
}
如何利用JS實現對後台CS代碼的調用
正常情況是不能這樣使用的,但是可能通過工具(RPC)或者接口(API)等間接來實現。
RPC(Remote Procedure Call Protocol)——遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。
API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工作機制的細節。
從上面的描述可知,兩種方法都是可以達到目的,但是使用 RPC 更簡單,更容易理解,可以去找符合你使用的 RPC 相關程序。
js外部文件如何調用cs文件中的函數.
js調用cs中函數的方法 在前台js代碼里寫上%method();% 舉例: cs文件中寫的有 public void method() { ….執行某些操作. } 這個函數,然後在前台頁面的js裏面調用. 在cs中調用js函數法一:ClientScript.RegisterStartupScript(GetType(), “事件或屬性名”, “事件或屬性內容”); 示例:protected void Page_Load(object sender, EventArgs e) { string ttt = “ttt”; string js = ” “; ClientScript.RegisterStartupScript(GetType(), “registerJS”, js); ClientScript.RegisterStartupScript(GetType(), “runJS”, “istwo(” + ttt + “)”); }法二:控件id.Attributes.Add(“事件或屬性名”, “事件或屬性內容”);示例:btnPost.Attributes.Add(“onclick”, “return CheckInput()”); 法三:直接把js代碼當作字符串輸出到客戶端,讓客戶端來解釋執行。
如何在js中調用C#後台帶參函數
給你看個一段demo, 希望能幫到你:
script runat=”server”
public static void bind()
{
string sqlParam = “select top 6 a.CourseID as courseid,Name,TeacherName,ordertype,CountPid,paytime,GoodsMoney,Target from KS_CosOrder a inner join KS_course b on a.courseid=b.courseid where TeachWay=1 and Status=1 and a.username ='” + UserManage.GetUserInfo().UserName + “‘ order by paytime deSC”;
using (dk = DataFactory.GetDataTable(sqlParam))
{
if (dk.Rows.Count 0)
{
dr = dk.Rows[0];
}
}
}
/script
其中DataFactory.GetDataTable(sqlParam) 就是後台cs 文件中的方法,直接就可以這樣用
。
前台js如何調用後台cs有參數的方法
你試試這個:
CS:
public
string test(string a)
{
return a;
}
aspx:
html
xmlns=””
head
runat=”server”
title無標題頁/title
mce:script type=”text/javascript” !–
var demo=function(){
var a=”Hello World”;
var b= ‘%=test(“‘+a+'”) %’;//這裡一定注意單引號和雙引號的使用!!!!!
alert(b);
}
//
–/mce:script
/head
body
form id=”form1″ runat=”server”
div
input type=”button” id=”id1″ onclick=”demo()” value=”JS調用CS” /
/div
/form
/body
/html
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/229267.html