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

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

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

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

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

第一步:在web\Controls文件夹下新建一个类文件,然后把相关插件文件拷贝到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(); 
}

最新文章

  1. 搞个这样的APP要多久?
  2. spring mvc 数据校验
  3. sublime text nodejs set
  4. leetcode 128. Longest Consecutive Sequence ----- java
  5. SQL服务器更改名称后
  6. 第十七章,txt文件的写入和读取数据结合练习(C++)
  7. UITableView的编辑模式
  8. EXTJS 4.2 资料 跨域的问题
  9. 跨域的小小总结:js跨域及跨域的几种解决方法
  10. Python3使用PyQt5制作简单的画板/手写板
  11. Ubuntu等Linux系统显卡性能测试软件 Unigine 3D
  12. scrapy模拟登录微博
  13. 获取reporting services导出pdf的url的方法
  14. LOJ2538 PKUWC2018 Slay the Spire DP
  15. centos6.5环境disconf管理端安装配置详解
  16. 富文本编辑器--FCKEditor 上传图片
  17. 【转】java comparator 升序、降序、倒序从源码角度理解
  18. 转 php安装错误configure: error: Please reinstall the libcurl distribu
  19. 剑指Offer——树的子结构
  20. jenkins自动发送邮件配置

热门文章

  1. [Rodbourn&#39;s Blog]How to export Excel plots to a vector image (EPS, EMF, SVG, etc.)
  2. squid如何屏蔽User-Agent为空的请求
  3. IIS6.0开启gzip压缩
  4. linux slab学习
  5. AngularJS 数组
  6. 关于html标签的两种隐藏方式
  7. Oracle - 存储过程、函数、包的使用练习-雇员
  8. Docker学习笔记--2 镜像的创建
  9. asp.net 中 UpdataPanel 的使用注意点
  10. vue.js 图表chart.js使用