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#函数;

示例:
JS/Cs相互调用 - picacure - picacure的博客JS/Cs相互调用 - picacure - picacure的博客代码 <!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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL体系架构

PostgreSQL 使用客户机/服务器&#xff08;C/S&#xff09;的模式提供服务&#xff0c;一个PostgreSQL会话由下列相关的进程&#xff08;程序&#xff09;组成&#xff1a; (1)一个服务器端进程。该进程管理数据库文件&#xff0c;接受客户端与数据库的连接&#xff0c;且代表…

IPC之九:使用UNIX Domain Socket进行进程间通信的实例

socket 编程是一种用于网络通信的编程方式&#xff0c;在 socket 的协议族中除了常用的 AF_INET、AF_RAW、AF_NETLINK等以外&#xff0c;还有一个专门用于 IPC 的协议族 AF_UNIX&#xff0c;IPC 是 Linux 编程中一个重要的概念&#xff0c;常用的 IPC 方式有管道、消息队列、共…

CH 5102Mobile Service题解

题目&#xff1b; 用动态规划很容易将完成任务量作为dp的阶段&#xff0c;通过指派服务员&#xff0c;从当前i-1个任务转移到i个任务&#xff1b; 我们可以用一个四维数组f[i][x][y][z]来表示在完成当前任务i时&#xff0c;三个机器人分别在x&#xff0c;y&#xff0c;z的位置&…

Postgres主进程文件—postmaster.pid

postmaster内容 使用cat -n 命令可以查看postmaster.pid文件内容&#xff1a; ) 根据每一行进行解释&#xff0c;并给出对应的源代码说明 13795: 代表Postgres主进程的PID/usr/local/pgsql/data: 代表数据目录 1529235109&#xff1a; 代表postmaster文件的创建时间。 54…

Mysql 中 delete 与 left join 的问题

今天在一个程序后台删除一个东西的时候&#xff0c;却出现了这个问题&#xff1a; 在Google搜索了大约1小时候&#xff0c;终于找到了原因&#xff0c;解决起来非常简单&#xff1a; 增加一个T.*就搞定了。 故障分析&#xff1a;因为Insert、Update、Delete三个参数&#xff0c…

web架构设计经验分享

2019独角兽企业重金招聘Python工程师标准>>> 本人作为一位web工程师&#xff0c;着眼最多之处莫过于 性能与架构&#xff0c;本次幸得参与sd2.0大会&#xff0c;得以与同行广泛交流,于此二方面&#xff0c;有些心得&#xff0c;不敢独享&#xff0c;与众博友分享&am…

面向对象与软件工程—团队作业1

一、队伍介绍 队伍名称&#xff1a;逍遥此身君子意 队伍编号&#xff1a;1523933 参赛区域&#xff1a;西北赛区 参赛类别&#xff1a;小程序 指导老师&#xff1a;崔亚超 二、队伍成员信息 姓名&#xff1a;凌龙&#xff08;队长&#xff09; 学号&#xff1a;1700802085 班级…

PostgreSQL的核心架构

PostgreSQL的核心架构 注意 本人的博客都迁移到本人自己搭建的博客地址&#xff0c;通过此处可查看。 应用程序的访问接口 1. 访问接口总体图 进程及内存结构 1. 进程和内存结构图 主进程&#xff1a;Postmaster进程 辅助进程&#xff1a;SysLogger&#xff08;系统日志&a…

Linux 下的多线程下载工具

2019独角兽企业重金招聘Python工程师标准>>> 最先用的是 Axel&#xff08;http://axel.alioth.debian.org/&#xff09;&#xff0c;功能还可以&#xff0c;不过下载文件最多支持到 2GB&#xff0c;再大的文件就不能下载了&#xff0c;真变态&#xff01; aget&…

Launcher结构之home screen

今天刚刚知道如果你的Eclipse里面的工程指向服务器里面的源码记住千万不能在Eclipse里编译~~会在服务器上的源码里多处很多的中间件这样make不了只能清除那些中间件才能编译比较麻烦 Home screen可以说是一个手机的最重要应用&#xff0c;就像一个门户网站的首页&#xff0c;直…

分布式事务2PC、3PC模型

工作中使用最多的是本地事务&#xff0c;但是在对单一项目拆分为 SOA、微服务之后&#xff0c;就会牵扯出分布式事务场景 文章以分布式事务为主线展开说明&#xff0c;并且针对 2PC、3PC 算法进行详细的讲解&#xff0c;最后通过一个 Demo 来更深入掌握分布式事务&#xff0c;…

Python学习之路——装饰器

开放封闭原则&#xff1a;不改变调用方式与源代码上增加功能 1.不能修改被装饰对象(函数)的源代码&#xff08;封闭&#xff09; 2.不能更改被修饰对象(函数)的调用方式&#xff0c;且能达到增加功能的效果&#xff08;开放&#xff09;View Code装饰器 # 把要被装饰的函数作为…

通断时间面积法

背景&#xff1a; 来 源&#xff1a; 通断时间面积法是入选《供热计量技术规程》JGJ173-2009的一种热量分摊计量方法实现分户计量的一种计量方法。由清华大学建筑节能研究中心江亿院士提出。 简 称 ( 俗称 )&#xff1a;&#xff08;1&#xff09;“时温法”&#xff08;2&a…

win8 关于Adobe CS6系列软件Patch覆盖失败的问题(Photoshop CS6、Adobe Illustrator CS6、Adobe Fireworks CS6)...

我在Adobe文件夹下安装了Photoshop CS6和 Adobe Illustrator CS6&#xff0c;结果当我为AI覆盖Path文件后&#xff0c;我发现PS和AI全部都打不开了。反复覆盖还是没用。 不过很奇怪fireworks Cs6能用。FW我没有跟PS、AI装在同一个文件夹下。 我想难道是安装目录的问题&#xff…

《集体智慧编程》——第一章导读

为什么80%的码农都做不了架构师&#xff1f;>>> 什么是集体智慧 其含义是指&#xff1a;为了长早新的想法&#xff0c;而将一群人的行为、偏好或思想组合在一起。 完成这项工作的一种最为基础的方法&#xff0c;便是使用调查问卷或普查。从一大群人中搜集的答案可…

在Mono 2.8上部署ASP.NET MVC 2

Mono 2.8发布&#xff1a;C#4.0和更好的性能&#xff0c;我们知道Mono 2.8对ASP.NET MVC 2的完全支持&#xff0c;下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序。我的环境是Opensuse 11.3,通过以下命令部署好Mono 2.8的开发环境&#xff0c;之所以说是开发环境是同…

SRV记录注册不成功的可能的原因

1.1.1 SRV记录注册不成功的可能的原因 默认情况&#xff0c;安装完活动目录就会DNS中的SRV记录就注册成功了&#xff0c;如果您在域控制器上重启Netlogon服务&#xff0c;有可能还是不能注册SRV记录到DNS服务器上&#xff0c;以下是总结的需要检查的几点。 DNS区域名字是否正确…

ABAP很厉害是怎么一种体验?

知乎上偶然看到这个问题&#xff0c;觉得很有意思&#xff0c;我也来回答一发。 我本科和研究生学的是计算机专业&#xff0c;做项目用C/C&#xff0c;研究生三年项目的代码量大概在三到四万行左右。2007年大学毕业加入SAP成都研究院一直工作到现在&#xff0c;工作中用的最熟练…

当前读与快照读

概念 快照读 读取的是记录数据的可见版本&#xff08;可能是过期的数据&#xff09;&#xff0c;不用加锁 当前读 读取的是记录数据的最新版本&#xff0c;并且当前读返回的记录都会加上锁&#xff0c;保证其他事务不会再并发的修改这条记录   概念说的比较虚&#xff0c;也不…

随手笔记

import turtleturtle.bgcolor("red")turtle.fillcolor("yellow")turtle.color(yellow)turtle.speed(10)#主星turtle.begin_fill()turtle.up()turtle.goto(-600,220) turtle.down()for i in range (5): turtle.forward(150)turtle.right(144)turtle.end_…