`
tomhibolu
  • 浏览: 1431164 次
文章分类
社区版块
存档分类
最新评论

C#与Javascript变量、函数之间的相互调用

 
阅读更多

原文地址:http://blog.csdn.net/wonsoft/article/details/2595743

一、javascript调用C#代码解决方案
// 第一种情况:
1.后台方法:

  1. protectedstringCsharpVoid(stringstrCC)
  2. {
  3. returnstrCC;
  4. }

2.javascript 调用
  1. <scriptlanguage="javascript">
  2. <!--
  3. vars="<%=CsharpVoid("www.baidu.com")%>";
  4. document.write(s);
  5. //-->
  6. </script>

// 第二种情况:
1.后代码:
  1. protectedvoidCsharpVoid()
  2. {
  3. stringstrCC="www.baidu.com";
  4. Response.Write(strCC);
  5. }

2.调用方法:CsharpVoid()
  1. <scriptlanguage="javascript">
  2. <!--
  3. document.write("<%CsharpVoid();%>");
  4. //-->
  5. </script>

可在页面中放一个按钮,把它设置为不可见style="display:none",然后,用脚本让此按钮点击
  1. document.all("button1").click();

在此按钮的C#后台中写事件代码,这就是最简单的脚本调用C#方法.

二、C#与Javascript变量、函数之间的相互调用
问题1:在JavaScript访问C#函数
方法一
1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中;
2、在前台写一个js函数,内容为

  1. document.getElementById("btn1").click();

3、在前台或后台调用js函数,激发click事件,等于访问后台c#函数;
方法二

1、后台代码函数声明为public(protected也可以)

  1. publicstringss()
  2. {
  3. return("a");
  4. }

2、前台:在html脚本里用<%=fucntion()%>可以调用
  1. <scriptlanguage=javascript>
  2. <!--
  3. vara="<%=ss()%>";
  4. alert(a);
  5. //-->
  6. </script>

方法三
  1. <scriptlanguage="javascript">
  2. <!--
  3. function__doPostBack(eventTarget,eventArgument)
  4. {
  5. vartheForm=document.Form1;//指runat=server的form
  6. theForm.__EVENTTARGET.value=eventTarget;
  7. theFrom.__EVENTARGUMENT.value=eventArgument;
  8. theForm.submit();
  9. }
  10. //-->
  11. </script>
  12. <inputid="Button1"type="button"name="Button1"value="按钮"onclick="javascript:__doPostBack('Button1','')"/>

ASPX页面有包含asp:LinkButton或者带有AutoPostBack属性且其值为true的服务器控件时,ASP.NET会自动为页面生成下面的脚本:
  1. <inputtype="hidden"name="__EVENTTARGET"id="__EVENTTARGET"value=""/>
  2. <inputtype="hidden"name="__EVENTARGUMENT"id="__EVENTARGUMENT"value=""/>

这两个参数分别由隐藏的两个表单域__ EVENTTARGET和__ EVENTARGUMENT保存。
这两个隐藏的表单可以查找引起页面回送的控件ID和回送时的参数:
  1. stringtarget=Request.Params["__EVENTTARGET"];
  2. stringargs=Request.Params["__EVENTARGUMENT"];

asp:Button和asp:ImageButton不是使用__doPostBack回送页面,所以使用这两个控件回送页面时,上面的代码是无效的。
方法四:1、前台:
  1. <scriptlanguage="javascript"><!--
  2. functionSubmitKeyClick()
  3. {
  4. if(event.keyCode==13)
  5. {
  6. event.cancelBubble=true;
  7. event.returnValue=false;
  8. document.all.FunName.value="你要调用的函数名"
  9. document.form[0].submit();
  10. }
  11. }
  12. //-->
  13. </script>
  14. <INPUTonkeypress="SubmitKeyClick()"id="aaa"type="text">
  15. <inputtype="hidden"name="FunName"><!--用来存储你要调用的函数-->

2、后台CS代码:
  1. publicPage_OnLoad()
  2. {
  3. if(!Page.IsPost())
  4. {
  5. stringstrFunName=Request.Form["FunName"]!=null?Request.Form["FunName"]:"";
  6. //根据传回来的值决定调用哪个函数
  7. switch(strFunName)
  8. {
  9. case"enter()":
  10. enter();//调用该函数
  11. break;
  12. case"其他":
  13. //调用其他函数
  14. break;
  15. default:
  16. //调用默认函数
  17. break;
  18. }
  19. }
  20. }
  21. publicvoidenter()
  22. {
  23. //……比如计算某值
  24. }

问题2:在JavaScript访问C#变量

方法一:
1、通过页面上隐藏域访问

  1. <inputid="xx"type="hidden"runat="server">

方法二

1、如后台定义了:

  1. publicstringn;

2、前台js中引用该变量的格式为

  1. '<%=n%>'
  2. //或
  3. "+<%=n%>+"
  4. //例:
  5. varss="<%=n%>"

方法三在服务器端变量赋值后在页面注册一段脚本
  1. "<scriptlanguage='javascript'>vartemp="+tmp+"</script>"

tmp是后台变量,然后js中可以直接访问temp获得值。

问题3:在C#中访问JavaScript的已有变量
方法一:
1、前台使用静态文本控件隐藏域,将js
变量值写入其中;
2、后台用request["id"]
来获取值;
方法二:
可以用cookie或session
问题4:在C#中访问JavaScript函数
方法一:

  1. Page.RegisterStartupScript("ggg","<script>SetVisible(1);
  2. </script>");

方法二:
1、前台使用Literal类:
  1. <asp:LiteralID="Literal1"runat="server"></asp:Literal>

2、后台CS代码:
  1. privatevoidButton2_Click(objectsender,System.EventArgse)
  2. {
  3. stringstr;
  4. str="<mce:scriptlanguage='javascript'><!--
  5. ";
  6. str+="selectRange()";
  7. str+="
  8. //--></mce:script>";
  9. //Literal1.Visible=true;
  10. Literal1.Text=str;
  11. }


分享到:
评论

相关推荐

    C#与javascript变量和函数之间互相调用

    本文将深入探讨如何在C#(后端)与JavaScript(前端)之间进行变量和函数的互相调用,这是一项对于实现动态网页功能至关重要的技能。 ### C#与JavaScript之间的交互 #### 一、C#向JavaScript传递数据 首先,让...

    c#代码与javascript函数的相互调用

    本文将深入探讨C#代码与JavaScript函数的相互调用机制,解析如何在ASP.NET环境中利用这两种语言的优势,构建高效、动态的Web应用。 ### C#调用JavaScript #### 直接插入JavaScript代码 在C#的ASP.NET页面中,可以...

    C#代码与javaScript函数的相互调用

    根据给定的信息,本文将详细探讨C#与JavaScript之间的相互调用方法,主要涉及四个方面的内容:如何在JavaScript中访问C#函数、如何在JavaScript中访问C#变量、如何在C#中访问JavaScript已有的变量以及如何在C#中访问...

    C#代码与javaScript函数的相互调用.docx

    ### C#代码与JavaScript函数的相互调用 #### 1. 如何在JavaScript访问C#函数? 在讨论如何实现JavaScript访问C#函数之前,我们先理解一下这两种语言通常的使用场景。C#常用于服务器端编程,而JavaScript则主要用于...

    C#代码与javaScript函数的相互调用与数据通信

    asp.net后台调用javascript函数、已有变量。 javascript调用后台(.cs文件)的函数、变量。

    C#和JavaScript相互调用

    在IT领域,C#与JavaScript两种语言的相互调用是一个重要的技术点,尤其在Web开发中,这种跨语言调用可以极大地提升应用的灵活性和功能的丰富性。根据提供的文件信息,我们可以深入探讨C#与JavaScript相互调用的几种...

    .net中前台javascript与后台c#函数相互调用问题.docx

    - 方法二:通过Literal控件,在C#代码中动态生成包含JavaScript函数调用的字符串,并添加到页面上。 这些方法都是为了实现前后端的交互,确保数据和逻辑能够在客户端和服务器之间正确传递。在实际应用中,应根据...

    .net中前台javascript与后台c#函数相互调用问题.pdf

    下面将详细阐述四种方法来实现JavaScript调用C#函数以及C#访问JavaScript变量和函数。 **1. JavaScript调用C#函数** **方法一:**通过按钮点击事件 在后台,你可以定义一个C#方法,并在按钮的Click事件中处理逻辑...

    C# javaScript函数的相互调用

    问题1答案如下: javaScript函数中执行C#代码中的函数: 方法一:1、首先建立一个按钮,在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数,内容为document.getElementById(“btn1”).click(); 3...

    javascript函数中执行c#函数的方法

    1如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中执行C#代码中的函数: 方法一:1、...

    .net中前台javascript与后台c#函数相互调用问题

    C#代码与javaScript函数的相互调用 问: 1.如何在JavaScript访问C#函数? 2.如何在JavaScript访问C#变量? 3.如何在C#中访问JavaScript的已有变量? 4.如何在C#中访问JavaScript函数? 问题1答案如下: javaScript函数中...

    js调用C#方法

    本文将详细介绍如何实现前端JavaScript(JS)与后端C#之间的相互调用,这对于构建功能丰富的Web应用至关重要。下面将按照问题的四个要点逐一展开。 #### 1. JavaScript调用C#方法 JavaScript可以通过以下步骤来...

    js调用c#后台函数.doc

    这篇文档主要探讨了四种方法,让JavaScript能够调用C#后台函数,同时也涉及到了C#访问JavaScript变量的可能性。 **方法一:利用事件触发** 这是最基础的方法,通过HTML按钮的点击事件触发后台的C#函数。在C#中定义...

    c#页面与javascript交互

    通过以上介绍的方法,我们可以实现 C# 页面与 JavaScript 之间的变量赋值和函数调用等功能。这些技术点不仅适用于 ASP.NET Web Forms 应用程序,对于一些基于 .NET 的混合应用程序也非常有用。掌握这些技巧可以帮助...

    javascript和C#相互调用.docx

    - 将JavaScript变量存入Cookie或Session,然后在C#后台通过读取Cookie或Session来访问这些变量。 4. **WebMethod和Ajax** - C#后台可以创建标记为`[WebMethod]`的方法,前端使用Ajax调用这些方法,例如使用jQuery...

    javaScript函数中执行C#代码中的函数

    以上步骤详细介绍了如何利用JavaScript与C#相结合,在Web应用程序中实现从前端到后端的函数调用。这种方法适用于需要从前端触发后端业务逻辑的场景,例如表单提交、数据查询等。通过这种方式,可以有效提升应用程序...

Global site tag (gtag.js) - Google Analytics