如何在C#方法中调用JavaScript方法

Page.RegisterClientScriptBlock()
Page.RegisterStartupScript()
Response.Write()
something.Attribute.Add("");
something.Attribute["onclick"]="javascript:"

例1、
Respones.Write("<script language=javascript>HelloJava()</script>");
例2、
<asp:button id="btnDelete" text="Delete"></asp:botton>
btnDelete.Attribute.Add("onclick","return HelloJava()");

例3、
aspx:
<asp:button id="btnDelete" text="Delete"></asp:botton>
aspx.vb:
btnDelete.attribute("onclick")="return HelloJava();"

解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法:
在AJAX支持的网站中使用想使用Response.Wrie(“”); 或 Page. RegisterStartupScript (); 弹出一些提示对话框,没有效果。有如下两种解决方法:

(1)       System.Web.UI.ScriptManager.RegisterStartupScript来替代Page.ClientScript.RegisterStartupScript
==>函数原型:
System.Web.UI.ScriptManager.RegisterStartupScript(Contrl control, Type type,string key,string script, bool addScriptTags);
==>参数:
control-----------------要要注册此段javascript语句的控件ID,如下面示例的按钮ID btnUnReport
type--------------------这个参数是注册脚本块控件的类型,即updatepanel的类型。一般直接用this.GetType()即可
key---------------------为要执行的javascirpt语句起的名字,可以随便起,类似控件的name属性
script------------------javascript语句
addScriptTags------为true时,前边的script参数可以不用再写javascript标签;为false,则需自己为script参数添加<script language=’javascript’></script>标签。

注:要多传一个Control参数,如果这个control在UpdatePanel里,则运行脚步,如果这个control不在UpdatePanel则不允许这段脚步。
==>Eg.
System.Web.UI.ScriptManager.RegisterStartupScript(btnUnReport, this.GetType(), "unReport", "alert('撤销上报操作失败,请勾选要上交的课题!');window.close();", true);

(2)注册DataItem方法:
示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WebForm1.aspx.cs" Inherits="WebForm1" %>

<!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 runat="server">
     <title>无标题页</title>
</head>
<body>
     <form id="form1" runat="server">
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
     <script type="text/javascript">
         Sys.WebForms.PageRequestManager.getInstance().add_pageLoading(
             function(sender, e)
             ...{
                 var dataItem = e.get_dataItems()["<%= this.UpdatePanel1.ClientID %>"]();
                 alert(dataItem.Name);
             });
     </script>
     <div>
         <asp:UpdatePanel ID="UpdatePanel1" runat="server">
             <ContentTemplate>
                 <asp:Button ID="test" runat="server" Text="test" OnClick="test_Click" />
             </ContentTemplate>
         </asp:UpdatePanel>
     </div>

</form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Web.Script.Serialization;

public partial class WebForm1 : System.Web.UI.Page
     ...{
         protected void Page_Load(object sender, EventArgs e)
         ...{

}

protected void test_Click(object sender, EventArgs e)
         ...{
             JavaScriptSerializer serializer = new JavaScriptSerializer();
             ScriptManager.GetCurrent(this.Page).RegisterDataItem(this.UpdatePanel1, "var _f = function(){alert('Hello World!');}; _f;", true);

}

}

(3)       使用Javascript的非模态对话框弹出提示
Eg.
Page.RegisterStartupScript("alert", "<script language='javascript'>window.showModelessDialog(\"javascript:alert('撤销上报操作失败,请勾选要上交的课题!');window.close();\",\"\",\"status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;\")</script>");

转载于:https://www.cnblogs.com/fmxyw/archive/2009/06/03/1494976.html

c#调用javascript的方法,有Updatepanel的情况相关推荐

  1. js方式调用php_javascript调用PHP和PHP调用javascript的方法

    javascript调用PHP和PHP调用javascript的方法 发布时间:2020-06-22 17:03:14 来源:亿速云 阅读:262 作者:Leah 这篇文章将为大家详细讲解有关java ...

  2. asp.net后台调用javascript的方法

    1. 用Response.Write方法 代码如下: Response.Write("<script type='text/javascript'>alert("XXX ...

  3. zk里面调用javascript方法

    2019独角兽企业重金招聘Python工程师标准>>> zk封装了很多javascript的方法,但是并不是说就可以不用javascript了,因为我们项目开发的时候,zk提供的这些 ...

  4. javascript 调用html文件,HTML如何调用JavaScript?

    仅使用HTML和CSS创建动态网页很困难.例如,仅使用CSS是无法很好完成下拉菜单和滑入式页面的,这是一项很难的技术.此时就需要使用JavaScript,那么如何在HTML中调用JavaScript? ...

  5. html中script相互调用,HTML调用JavaScript

    仅使用HTML和CSS创建动态网页很困难.例如,仅使用CSS是无法很好完成下拉菜单和滑入式页面的,这是一项很难的技术.此时就需要使用JavaScript,那么如何在HTML中调用JavaScript? ...

  6. 在HTML文档中使用JavaScript的方法详解

    在HTML文档中使用JavaScript的方法详解 本文详细介绍,在HTML文档(也称为HTML页面或网页)中使用JavaScript脚本代码的多种方法. 假设要用JS生成字符☆直角三角形 实现Jav ...

  7. JavaScript文件中调用AngularJS内部方法或改变$scope变量

    需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...

  8. python操作js中的输入_Python调用JavaScript代码的方法

    准备阶段: 以一段简单的JS脚本为例,将代码写入到文件中,其中,定义了一个方法,计算两个数的和. //norm.js //计算两个数的和 function add(num1, num2) { retu ...

  9. asp.net中调用javascript自定义函数的方法(包括引入JavaScript文件)总结

    通常javascript代码可以与HTML标签一起直接放在前端页面中,但如果JS代码多的话一方面不利于维护,另一方面也对搜索引擎不友好,因为页面因此而变得臃肿:所以一般有良好开发习惯的程序员都会把ja ...

最新文章

  1. 设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)
  2. 【转】如何单独编译Android源代码中的模块--不错
  3. python Windows和Linux路径表示问题
  4. Android GL deadlock timeout error
  5. TensorFlow 2.0.0-RC0版发布,专注于简单性与易用性
  6. 【朋克智库】比特币详解2.0——比特币的沉沦
  7. 解决python2.7 UnicodeDecodeError和UnicodeEncodeError问题
  8. C#实现缩放和剪裁图片的方法示例
  9. 2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算
  10. 人工智障学习笔记——机器学习(16)降维小结
  11. 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?...
  12. 用java提示用户输入学生个数_编写程序,提示用户输入一个数N,然后显示1~N的所有偶数平方值,求大神看看我写的程序哪里有问题。。...
  13. daysmatter安卓版_days matter
  14. OMNeT++ ALOHA sample代码阅读
  15. 【每日算法Day 72】谷歌面试题:又双叒叕是位运算,最详细的自动机推导过程...
  16. Java求101-200以内的质数
  17. 登录验证码(前后端分离、不分离)
  18. 7款ui设计开发初学者必学的设计软件
  19. VPS性能优劣与使用
  20. 版本号规范,镜像版本SNAPSHOT,LATEST 和 RELEASE 版本

热门文章

  1. 将图像平移到画布中心python_python-如何用猕猴桃中的图像填充画布?
  2. 3.指定IP地址抓包
  3. dojo——AMD(二、AMD中class内部成员函数相互调用实现)
  4. golang搭建静态web服务器的实现方法
  5. 计算机组成原理中EMAR是什么,计算机组成原理复习资料+试题
  6. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  7. dockhub 好用的镜像_玩转docker镜像和镜像构建
  8. dubbo 服务压测_不可忽视的Dubbo线程池
  9. Java复习总结(二)Java SE 面试题
  10. LeetCode 98. 验证二叉搜索树(递归)(迭代)