이 기사의 예는 .net과 자바스크립트 스크립트 간의 상호 작용 방법을 요약하고 참고용으로 모든 사람과 공유합니다. 구체적인 방법은 다음과 같습니다.
1.asp.net이 js를 호출합니다
Response.Write("<script language=javascript>"); Response.Write("alert('登峰欢迎您 ');" ); Response.Write("location.href='login.aspx';") ; Response.Write("</script>") ;
이 경우 페이지에서 JS 스크립트의 모든 기능을 호출할 수 있습니다
2 .js 스크립트는 서버 컨트롤의 값에 어떻게 액세스합니까?
js에서는 다음 스크립트를 사용하여 Name
var myvalue=document.all('Name').value;
값 메서드는 인터페이스에 숨겨진 컨트롤 HtmlInputHidden을 넣은 다음 서버 컨트롤로 실행되도록 설정하는 것입니다. 컨트롤의 값은 js 스크립트와 ASP.NET 코드에서 액세스할 수 있습니다.
js 서버 컨트롤 할당:
var bt=document.all('Name').value; bt.value='名称';
<head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> function callServer(arg){ var oTb = document.getElementById('<%=editValue.ClientID %>'); // arg中是传给服务器的变量 arg = oTb.value; <%=ClientScript.GetCallbackEventReference(this, "arg", "receiveServerResult", null, true)%> } function receiveServerResult(result){ // 在这里添加处理服务器返回结果的逻辑,result变量是服务器返回的结果 alert(result); } </script> ...//此处省略部分代码 <asp:TextBox ID="editValue" runat="server" /> <asp:Button ID="btnSubmit" runat="server" Text="Submit Data" OnClientClick="callServer();return false;" /> </head>
//页面类继承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 }
방법 1:
첫 번째 버튼을 만들고 호출 또는 처리 내용을 백그라운드의 버튼_클릭에 씁니다.
②, 내용이 있는 포그라운드에 js 함수를 작성합니다.
document.getElementById("btn1").click();
함수는 공개<로 선언됩니다. 🎜>백엔드 코드(공개를 보호로 변경도 가능)
public string ss() { return("a"); }
<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="你要调用的函数名"; document.form[0].submit(); } } </script> <INPUT onkeypress="SubmitKeyClick()" id="aaa" type="text"> <input type="hidden" name="FunName"> <!--用来存储你要调用的函数 -->
:
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# 변수에 액세스
방법 1: 페이지의 숨겨진 필드
<input id="xx" type="hidden" runat="server">
에 액세스하기 위한 방법 2: PUBLIC STRING N이 백그라운드에 정의된 경우 프런트엔드 js에서 이 변수를 참조하는 형식은 '<%=입니다. n%>' 또는 "+<%=n%>+ "
방법 3: 아니면 서버측 변수에 값을 할당한 후 페이지에 스크립트를 등록할 수도 있습니다""
tmp는 배경 변수이고, 그러면 js에서 temp에 직접 액세스하여 값을 얻을 수 있습니다.
7. C#에서 JavaScript 함수에 액세스
C# 코드에서 javaScript 함수 실행:
방법 1:Page.RegisterStartupScript("ggg","<script>SetVisible(1); </script>");
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; }
이 글이 모든 분들의 C# 프로그래밍에 도움이 되기를 바랍니다.
.net과 자바스크립트 스크립트 간의 상호작용 방법을 요약한 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!