• 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(); 
    }

  • 相关阅读:
    java指定路径写、读文件
    [转]EP3C16Q240C8N 引脚说明
    [转]CMOS器件空闲管脚的处理
    [转]Altium Designer之多图纸设计
    [转]SDRAM驱动笔记
    [转]VHDL语言中方向字buffer与inout有什么异同
    [转]FPGA的边沿检测
    [转]FPGA中为什么要把NCEO设置为普通的IO口
    [转]SignalTap II使用方法简介
    [转]C-SPY
  • 原文地址:https://www.cnblogs.com/wenjie/p/3199818.html
Copyright © 2020-2023  润新知