當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS/Cs相互调用
js調用cs中函數的方法???
在前臺js代碼里寫上<%method();%>
??????舉例:
??????cs文件中寫的有
??????public?void?method()
??????{
???????????....執行某些操作.
??????}
??????這個函數,然后在前臺頁面的js里面調用.
??????<script?type="text/javascript">
???????????<%method();%>
??????</script>
在cs中調用js函數
法一:ClientScript.RegisterStartupScript(GetType(),?"事件或屬性名",?"事件或屬性內容");?
???示例:
protected?void?Page_Load(object?sender,?EventArgs?e)
????{
????????string?ttt?=?"ttt";
????????string?js?=?"<script?type='text/javascript'>";
????????js?+=?"function?istwo(m){alert(m);}?</script>?";
????????ClientScript.RegisterStartupScript(GetType(),?"registerJS",?js);
????????ClientScript.RegisterStartupScript(GetType(),?"runJS",?"istwo("?+?ttt?+?")");?
?????}
法二:控件id.Attributes.Add("事件或屬性名",?"事件或屬性內容");
示例:
btnPost.Attributes.Add("onclick",?"return?CheckInput()");
法三:直接把js代碼當作字符串輸出到客戶端,讓客戶端來解釋執行。
示例:
Response.Write("?<script>function?fun(){alert("?+?m?+?")}?</script>")
======================================================
轉:?.net中前臺javascript與后臺c#函數相互調用
文章出處:DIY部落(http://www.diybl.com/course/1_web/javascript/jsjs/200798/71020.html)
C#代碼與javaScript函數的相互調用
問:
1.如何在JavaScript訪問C#函數?
2.如何在JavaScript訪問C#變量?
3.如何在C#中訪問JavaScript的已有變量?
4.如何在C#中訪問JavaScript函數?
問題1答案如下:
javaScript函數中執行C#代碼中的函數:
方法一:1、首先建立一個按鈕,在后臺將調用或處理的內容寫入button_click中;?
2、在前臺寫一個js函數,內容為document.getElementById("btn1").click();?
3、在前臺或后臺調用js函數,激發click事件,等于訪問后臺c#函數;
示例:
代碼?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
<head?id="Head1"?runat="server">
????<title>列表頁</title>
<style?type="text/css">
??????.display
????????{
????????????display:none;
????????}
????</style>
????<script?type="text/javascript"?language="javascript">
???????function?Download(sI)
???????{
??????????document.getElementById("btn").click();
???????}
????</script>
</head>
<body>
????<form?id="form1"?runat="server">
?<asp:Button?ID="btn"?runat="server"?
OnClick="btn_Click"?Text=""??CssClass="display""?/>
//注:此處Button控件不能加Visible="false"來隱藏,只能通過樣式
????</form>
</body>
</html>
方法二: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="按鈕"?οnclick="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?οnkeypress="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()
{
//……比如計算某值
}
問題2.如何在JavaScript訪問C#變量?
答案如下:
方法一:1、通過頁面上隱藏域訪問<input?id="xx"?type="hidden"?runat="server">
方法二:1、如后臺定義了PUBLIC?STRING?N;?前臺js中引用該變量的格式為'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服務器端變量賦值后在頁面注冊一段腳本
"<script?language='javascript'>var?temp="?+?tmp?+?"</script>"
tmp是后臺變量,然后js中可以直接訪問temp獲得值。
3.如何在C#中訪問JavaScript的已有變量?
答案如下:
方法一:1、前臺使用靜態文本控件隱藏域,將js變量值寫入其中;
2、后臺用request["id"]來獲取值;
方法二:可以用cookie或session
4.如何在C#中訪問JavaScript函數?
答案如下:
c#代碼中執行javaScript函數:
方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);?</script>");?
方法二:使用Literal類,然后
private?void?Button2_Click(object?sender,?System.EventArgs?e)
{
string?str;?
str="<script?language='javascript'>";?
str+="selectRange()";?
str+="</script>";?
//Literal1.Visible=true;?
Literal1.Text=str;?
}
在前臺js代碼里寫上<%method();%>
??????舉例:
??????cs文件中寫的有
??????public?void?method()
??????{
???????????....執行某些操作.
??????}
??????這個函數,然后在前臺頁面的js里面調用.
??????<script?type="text/javascript">
???????????<%method();%>
??????</script>
在cs中調用js函數
法一:ClientScript.RegisterStartupScript(GetType(),?"事件或屬性名",?"事件或屬性內容");?
???示例:
protected?void?Page_Load(object?sender,?EventArgs?e)
????{
????????string?ttt?=?"ttt";
????????string?js?=?"<script?type='text/javascript'>";
????????js?+=?"function?istwo(m){alert(m);}?</script>?";
????????ClientScript.RegisterStartupScript(GetType(),?"registerJS",?js);
????????ClientScript.RegisterStartupScript(GetType(),?"runJS",?"istwo("?+?ttt?+?")");?
?????}
法二:控件id.Attributes.Add("事件或屬性名",?"事件或屬性內容");
示例:
btnPost.Attributes.Add("onclick",?"return?CheckInput()");
法三:直接把js代碼當作字符串輸出到客戶端,讓客戶端來解釋執行。
示例:
Response.Write("?<script>function?fun(){alert("?+?m?+?")}?</script>")
======================================================
轉:?.net中前臺javascript與后臺c#函數相互調用
文章出處:DIY部落(http://www.diybl.com/course/1_web/javascript/jsjs/200798/71020.html)
C#代碼與javaScript函數的相互調用
問:
1.如何在JavaScript訪問C#函數?
2.如何在JavaScript訪問C#變量?
3.如何在C#中訪問JavaScript的已有變量?
4.如何在C#中訪問JavaScript函數?
問題1答案如下:
javaScript函數中執行C#代碼中的函數:
方法一:1、首先建立一個按鈕,在后臺將調用或處理的內容寫入button_click中;?
2、在前臺寫一個js函數,內容為document.getElementById("btn1").click();?
3、在前臺或后臺調用js函數,激發click事件,等于訪問后臺c#函數;
示例:
代碼?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml">
<head?id="Head1"?runat="server">
????<title>列表頁</title>
<style?type="text/css">
??????.display
????????{
????????????display:none;
????????}
????</style>
????<script?type="text/javascript"?language="javascript">
???????function?Download(sI)
???????{
??????????document.getElementById("btn").click();
???????}
????</script>
</head>
<body>
????<form?id="form1"?runat="server">
?<asp:Button?ID="btn"?runat="server"?
OnClick="btn_Click"?Text=""??CssClass="display""?/>
//注:此處Button控件不能加Visible="false"來隱藏,只能通過樣式
????</form>
</body>
</html>
方法二: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="按鈕"?οnclick="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?οnkeypress="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()
{
//……比如計算某值
}
問題2.如何在JavaScript訪問C#變量?
答案如下:
方法一:1、通過頁面上隱藏域訪問<input?id="xx"?type="hidden"?runat="server">
方法二:1、如后臺定義了PUBLIC?STRING?N;?前臺js中引用該變量的格式為'<%=n%>'或"+<%=n%>+"
方法三:1、或者你可以在服務器端變量賦值后在頁面注冊一段腳本
"<script?language='javascript'>var?temp="?+?tmp?+?"</script>"
tmp是后臺變量,然后js中可以直接訪問temp獲得值。
3.如何在C#中訪問JavaScript的已有變量?
答案如下:
方法一:1、前臺使用靜態文本控件隱藏域,將js變量值寫入其中;
2、后臺用request["id"]來獲取值;
方法二:可以用cookie或session
4.如何在C#中訪問JavaScript函數?
答案如下:
c#代碼中執行javaScript函數:
方法一:1、Page.RegisterStartupScript("ggg","<script>SetVisible(1);?</script>");?
方法二:使用Literal類,然后
private?void?Button2_Click(object?sender,?System.EventArgs?e)
{
string?str;?
str="<script?language='javascript'>";?
str+="selectRange()";?
str+="</script>";?
//Literal1.Visible=true;?
Literal1.Text=str;?
}
轉載于:https://www.cnblogs.com/jiangC/archive/2010/08/12/2769083.html
總結
- 上一篇: 牛客练习赛52 | C | [烹
- 下一篇: netnbsp;与nbsp;javasc