苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

分布式系统框架(V1.3) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper万能框架(V2.3) HttpHelper官方出品,无敌框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V1.9) 最牛的爬虫类,没有爬不到只有想不到 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 12260|回复: 20

[功能帮助类] JsHelper--Javascript操作帮助类

[复制链接]
发表于 2012-12-11 12:55:39 | 显示全部楼层 |阅读模式
                            JsHelper--Javascript操作帮助类
导读部分
-------------------------------------------------------------------------------------------------------------
C#基类库苏飞版--系列教程导航 http://www.sufeinet.com/thread-655-1-1.html

下载之前你首先要注册成为会员哦,注册之后就可以直接下载啦
更新时间:2012-12-09
最新的JsHelper类下载:
JsHelper.rar (930 Bytes, 下载次数: 263)
发表于 2012-12-19 19:44:00 | 显示全部楼层
 发表于 2012-12-19 20:35:56
转播微博[tthread=huangjiale3954, 乐]http://app.qlogo.cn/mbloghead/0d800a3b0db795224a42[/tthread]
 发表于 2012-12-19 20:35:57
七[tthread=huangjiale3954, 乐]http://app.qlogo.cn/mbloghead/0d800a3b0db795224a42[/tthread]
 发表于 2012-12-19 20:35:58
一[tthread=huangjiale3954, 乐]http://app.qlogo.cn/mbloghead/0d800a3b0db795224a42[/tthread]
 楼主| 发表于 2012-12-19 20:36:51 | 显示全部楼层
发表于 2012-12-22 22:43:18 | 显示全部楼层
发表于 2013-2-25 07:41:52 | 显示全部楼层
这个里面都是HttpContext.Current.Response.Write会导致页面变形,还是要用RegisterStartupScript或者RegisterClientScriptBlock吧,不过有个问题想问下,例如这样写函数(网上流行版本):
[code=csharp]    #region 新版本
    /// <summary>
    /// 弹出JavaScript小窗口
    /// </summary>
    /// <param name="js">窗口信息</param>
    public static void Alert(string message, Page page)
     {
        #region
        string js = @"<Script language='JavaScript'>
                     alert('" + message + "');</Script>";
        //HttpContext.Current.Response.Write(js);
        if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert"))
         {
             page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js);
         }
        #endregion
     }[/code]
这样的话我如果同一个页面想调用两次Alert就只能办出第一次的提示而已。。。
1、因为RegisterStartupScript和RegisterClientScriptBlock这两个函数都有key参数,上面的函数没有将key当成参数,所以同一page同一key会被认为是同一脚本。
2、如果在上面增加key作为参数,在调用的时候还得写个key参上去,感觉挺不爽的。
3、有种做法就是预定在页面放一个控件,将脚本输出到这个控件,但这个也需要配一个控件来运行脚本,感觉也不爽。最好调用的时候只写内容就弹框这样用起来感觉最适合了,最主要是弄好页面不变形和这个key导致的脚本重复。
请问,楼主有什么办法吗?
发表于 2013-2-25 08:05:48 | 显示全部楼层
[code=csharp]        public static void Alert(string message, Page page)
        {
            #region
            string js = @"<script language='javascript'>
                     alert('" + message + "');</script>";
            page.Controls.Add(new System.Web.UI.LiteralControl(js));
            #endregion
        }[/code]
这样写勉强凑合着用,不过查看html代码的时候,ca,真丑陋,js代码在</html>的后面了,而且写了多少段脚本就会有多少个script标签。。。

点评

在JS里写个函数,在CS里进行用就行了,这些可以解决你的问题,后台只需要传值就可以了。  详情 回复 发表于 2013-2-25 10:01
 楼主| 发表于 2013-2-25 10:01:28 | 显示全部楼层
scyyzgxh 发表于 2013-2-25 08:05
这样写勉强凑合着用,不过查看html代码的时候,ca,真丑陋,js代码在的后面了,而且写了多少段脚本就会有 ...

在JS里写个函数,在CS里进行用就行了,这些可以解决你的问题,后台只需要传值就可以了。

点评

我还是没找到这方面的例子,楼主就像我这样用个最简单的js里面的alert来做个演示行不。。。  详情 回复 发表于 2013-2-25 20:37
不是太懂如何弄,能写个简单的例子吗?  详情 回复 发表于 2013-2-25 16:37
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备17001017号-1 )

GMT+8, 2019-2-24 13:02

© 2017-2018

快速回复 返回顶部 返回列表