zoukankan      html  css  js  c++  java
  • mojoportal中使用jquey的插件

    以前在mojo中使用jquery的插件,都是把插件的文件内容直接写到了相关的模块中,这样的问题是不整洁,一大串代码。

    如果直接在layout.master中引入插件文件,或者在自定义模块中引入插件文件,相关的js代码是不起作用的,原因查了下,

    大概是说插件加载的时候,mojoportal自身携带的jquery还没有加载,所以会出错。

    网上有几种解决方法,下面这种我比较喜欢,经验证,好用,原文地址:

    原网址:http://blogs.planetcloud.co.uk/mygreatdiscovery/post/Loading-custom-scripts-in-mojoPortal.aspx

    第一步:在webControls文件夹下新建一个类文件,然后把相关插件文件拷贝到Web/ClientScripts文件夹下

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI;
    
    namespace mojoPortal.Web.UI 
    {
        public class AnotherScriptLoader : WebControl
        {
            public List<string> Scripts { get; set; }
            public AnotherScriptLoader()
            {
                Scripts = new List<string>();
            }
            protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
            }
            protected override void OnPreRender(EventArgs e)
            {
                base.OnPreRender(e);
                SetupScripts();
            }
            private void SetupScripts()
            {
                ClientScriptManager sm = Page.ClientScript;
                foreach (var script in this.Scripts)
                {
                    if (!sm.IsStartupScriptRegistered(script))
                        sm.RegisterStartupScript(this.GetType(), script, string.Format(@"<script type='text/javascript' src='{0}'></script>",
                            Page.ResolveUrl("~/ClientScript/" + script)));
                }
            }
        } 
    }
    

     第二步:在需要使用插件的模块html代码中中添加如下代码:

    <portal:AnotherScriptLoader runat="server" ID="scriptLoader"/>

    第三步:在需要使用插件的模块cs代码中修改Page_load方法,示例如下:

    protected void Page_Load(object sender, EventArgs e) 
    { 
        scriptLoader.Scripts.Add("jquery.oembed.min.js"); 
        scriptLoader.Scripts.Add("vimeooembed.js"); 
        LoadSettings(); 
        PopulateControls(); 
    }

  • 相关阅读:
    发送邮箱验证信息的工具类
    Tensor的组合与分块-02
    09-ImageJ的安装与使用
    01 织布缺陷——断针缺陷检测
    Map 与结构体的混合使用
    c++ 读取TXT文件,中文乱码处理
    Code128 混合编码--译码方式及校验准则
    08-局部阈值分割算法总结
    code128码国标
    vector使用的相关博客
  • 原文地址:https://www.cnblogs.com/wenjie/p/3199818.html
Copyright © 2011-2022 走看看