苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

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

查看: 12092|回复: 20

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

[复制链接]
  • TA的每日心情
    开心
    昨天 10:45
  • 签到天数: 641 天

    [LV.9]以坛为家II

    发表于 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]
  • TA的每日心情
    开心
    昨天 10:45
  • 签到天数: 641 天

    [LV.9]以坛为家II

     楼主| 发表于 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
  • TA的每日心情
    开心
    昨天 10:45
  • 签到天数: 641 天

    [LV.9]以坛为家II

     楼主| 发表于 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, 2018-12-11 01:24

    © 2017-2018

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