mojoportal中使用jquey的插件
2024-10-10 21:54:15
以前在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();
}
最新文章
- 搞个这样的APP要多久?
- spring mvc 数据校验
- sublime text nodejs set
- leetcode 128. Longest Consecutive Sequence ----- java
- SQL服务器更改名称后
- 第十七章,txt文件的写入和读取数据结合练习(C++)
- UITableView的编辑模式
- EXTJS 4.2 资料 跨域的问题
- 跨域的小小总结:js跨域及跨域的几种解决方法
- Python3使用PyQt5制作简单的画板/手写板
- Ubuntu等Linux系统显卡性能测试软件 Unigine 3D
- scrapy模拟登录微博
- 获取reporting services导出pdf的url的方法
- LOJ2538 PKUWC2018 Slay the Spire DP
- centos6.5环境disconf管理端安装配置详解
- 富文本编辑器--FCKEditor 上传图片
- 【转】java comparator 升序、降序、倒序从源码角度理解
- 转 php安装错误configure: error: Please reinstall the libcurl distribu
- 剑指Offer——树的子结构
- jenkins自动发送邮件配置
热门文章
- [Rodbourn&#39;s Blog]How to export Excel plots to a vector image (EPS, EMF, SVG, etc.)
- squid如何屏蔽User-Agent为空的请求
- IIS6.0开启gzip压缩
- linux slab学习
- AngularJS 数组
- 关于html标签的两种隐藏方式
- Oracle - 存储过程、函数、包的使用练习-雇员
- Docker学习笔记--2 镜像的创建
- asp.net 中 UpdataPanel 的使用注意点
- vue.js 图表chart.js使用