【技术贴】.NET的cs文件里调用javascript一闪而过的解决方法

简介: 【技术贴】.NET的cs文件里调用javascript方法和一闪而过的解决方法   例子:我有一个按钮,是服务器控件,当我点击它之后,我需要往数据里面写入sql,写入完成之后返回一个结果,这个结果就用js的对话框给搞出来,我用的比较华丽点,用jquery的一个函数。

【技术贴】.NET的cs文件里调用javascript方法和一闪而过的解决方法

 

例子:我有一个按钮,是服务器控件,当我点击它之后,我需要往数据里面写入sql,写入完成之后返回一个结果,这个结果就用js的对话框给搞出来,我用的比较华丽点,用jquery的一个函数。所以我需要在CS里面调用这个函数,可是,因为这个按钮是服务器控件,会在点击按钮后触发回传事件,所以,当我写入这个语句Button1.Attributes.Add(“onclick”,”<script type='text/javascript'>ShowConfirm('确定','是否删除','Button4','',340,80);</script>"); ”) 的时候,一闪而过了!!

此时 只能这样玩了。

Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script> ShowConfirm('确定','是否删除','Button4','',340,80);</script>");

这样就ok了。



另附别人的技术贴

在cs文件里调用javascript函数的注意事项  

2010-03-17 11:41:40|  分类:C#|  标签:|字号大中小 订阅

  http://www.cnblogs.com/yangweili/archive/2009/04/21/1440702.html

尽管网络上调用方法很多,但经常都会出现不能执行的现象,现在列出我在应用中遇到问题:

1.Form 必须运行在 :runat="server"

      <form id="Form1" name="myform" action="#" method="post" runat="server" >

2.函数必须定义在head里

          <script type="text/javascript">
              function newFile_load() {
              alert("开始新建文档!");
              document.all.WebOffice1.LoadOriginalFile("","doc");
              alert("终于建好了!");
              }
          </script>

3.C#里要写成如下的方式

      Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script> newFile_load();</script>");

      //下面的这个不可以

      Page.RegisterStartupScript("keys", "<script> newFile_load();</script>");

 

具体的方法网上太容易找到了,我这里贴几个以供参考:

 

1。RegisterStartupScript用法

    [C#]
    public virtual void RegisterStartupScript(
     string key,
      string script
    );
参数    key        标识脚本块的唯一键。    script        要发送到客户端的脚本的内容。以下是一些应用实例:打开一个新窗口:    page.registerstartupscript("starup", "<script language= 'javascript'>window.open('" + url + "','','toolbar=no,resizable=yes,scrollbars=yes')</script>")警告窗口// <summary>
// 服务器端弹出alert对话框
// </summary>
// <param name="str_message">提示信息,例子:"不能为空!"</param>
// <param name="page">page类</param>
public void alert(string str_message,page page)
{
page.registerstartupscript("","<script>alert('"+str_message+"');</script>");
}重载此警告窗口,使某控件获得焦点// <summary>
// 服务器端弹出alert对话框,并使控件获得焦点
// </summary>
// <param name="str_ctl_name">获得焦点控件id值,比如:txt_name</param>
// <param name="str_message">提示信息,例子:"请输入您姓名!"</param>
// <param name="page">page类</param>
public void alert(string str_ctl_name,string str_message,page page)
{
page.registerstartupscript("","<script>alert('"+str_message+"');document.forms(0)."+str_ctl_name+".focus(); document.forms(0)."+str_ctl_name+".select();</script>");
}确认对话框// <summary>
// 服务器端弹出confirm对话框
// </summary>
// <param name="str_message">提示信息,例子:"您是否确认删除!"</param>
// <param name="btn">隐藏botton按钮id值,比如:btn_flow</param>
// <param name="page">page类</param>
public void confirm(string str_message,string btn,page page)
{
page.registerstartupscript("","<script> if (confirm('"+str_message+"')==true){document.forms(0)."+btn+".click();}</script>");
}重载确认对话框,点击确定触发一个隐藏按钮事件,点击取消触发一个隐藏按钮事件// <summary>
// 服务器端弹出confirm对话框,询问用户准备转向那些操作,包括“确定”和“取消”时的操作
// </summary>
// <param name="str_message">提示信息,比如:"成功增加数据,单击\"确定\"按钮填写流程,单击\"取消\"修改数据"</param>
// <param name="btn_redirect_flow">"确定"按钮id值</param>
// <param name="btn_redirect_self">"取消"按钮id值</param>
// <param name="page">page类</param>
public void confirm(string str_message,string btn_redirect_flow,string btn_redirect_self,page page)
{
page.registerstartupscript("","<script> if (confirm('"+str_message+"')==true){document.forms(0)."+btn_redirect_flow+".click();}else{document.forms(0)."+btn_redirect_self+".click();}</script>");
}
获得焦点// <summary>
// 使控件获得焦点
// </summary>
// <param name="str_ctl_name">获得焦点控件id值,比如:txt_name</param>
// <param name="page">page类</param>
public void getfocus(string str_ctl_name,page page)
{
page.registerstartupscript("","<script>document.forms(0)."+str_ctl_name+".focus(); document.forms(0)."+str_ctl_name+".select();</script>");
}子窗体返回主窗体

//<summary>
//名称:redirect
//功能:子窗体返回主窗体
//参数:url
//返回值:空
//</summary>
public void redirect(string url,page page)
{
if ( session["ifdefault"]!=(object)"default")
{
page.registerstartupscript("","<script>window.top.document.location.href='/webjx/"+url+"';</script>");
}
}  

转自 http://helloouc.blog.163.com/blog/static/553052712010217114140869/?latestBlog

目录
相关文章
|
8月前
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
1181 3
|
7月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
2007 0
|
JavaScript 前端开发 内存技术
js文件的入口代码及需要入口代码的原因
js文件的入口代码及需要入口代码的原因
220 0
|
9月前
|
存储 缓存
.NET 6中Startup.cs文件注入本地缓存策略与服务生命周期管理实践:AddTransient, AddScoped, AddSingleton。
记住,选择正确的服务生命周期并妥善管理它们是至关重要的,因为它们直接影响你的应用程序的性能和行为。就像一个成功的建筑工地,工具箱如果整理得当,工具选择和使用得当,工地的整体效率将会大大提高。
328 0
|
Linux C# Windows
.NET使用MiniWord高效生成Word文件
.NET使用MiniWord高效生成Word文件
520 12
|
JavaScript 前端开发 API
Next.js 实战 (六):如何实现文件本地上传
这篇文章介绍了在Next.js中如何实现文件上传到本地的方法。文章首先提到Next.js官方文档中没有提供文件上传的实例代码,因此开发者需要自行实现,通常有两种思路:使用Node.js原生上传或使用第三方插件如multer。接着,文章选择了使用Node.js原生上传的方式来讲解实现过程,包括如何通过哈希值命名文件、上传到指定目录以及如何分类文件夹。然后,文章展示了具体的实现步骤,包括编写代码来处理文件上传,并给出了代码示例。最后,文章通过一个效果演示说明了如何通过postman模拟上传文件,并展示了上传后的文件夹结构。
445 0
Next.js 实战 (六):如何实现文件本地上传
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
930 1
|
编解码 数据安全/隐私保护
.Net PdfiumViewer 打印时无法渲染电子签名问题的解决方法
【10月更文挑战第14天】这段内容介绍了使用 PdfiumViewer 库处理 PDF 文件时遇到电子签名无法打印的问题及其解决方法。首先分析了 PdfiumViewer 默认设置或对电子签名支持不足可能导致此问题,建议更新库版本并通过 NuGet 包管理器进行升级。接着检查打印机设置和驱动程序,确保设置正确且驱动为最新版本。然后优化自定义打印代码,提高渲染分辨率,确保电子签名正确加载。最后,验证 PDF 文件格式和兼容性,必要时联系技术支持或求助技术社区。
817 2
|
JavaScript 前端开发 数据安全/隐私保护
混淆指定js文件
【9月更文挑战第26天】JavaScript 混淆旨在保护代码知识产权、减小文件体积和提高安全性。方法包括变量名和函数名混淆、代码压缩、控制流平坦化及字符串加密。常用工具如 UglifyJS 和 JScrambler 可实现这些功能。然而,混淆可能带来兼容性和调试困难等问题,需谨慎使用并确保法律合规。
271 5
|
JavaScript 前端开发 应用服务中间件
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法
881 0

热门文章

最新文章