zoukankan      html  css  js  c++  java
  • WebPart引用 .CSS 文件与 .JS文件

    [原]WebPart引用.CSS 文件与.JS文件

    昨天突然有个想法:WebPart能不能引用CSS文件与JS文件,然后上网找资料几乎没有看到这样的资料,最终没有解决;上网购的一本书《亮剑》昨天刚好到,早上没事翻开一看,哎呀,印入我的眼帘了;给它写出来跟大家分享一下,有不好的地方请指出;

    在下面的代码里是非常的简单的,这里我并不是想展现我的代码,而是讲一个方法:

    1. 我们先定义两个文件,一个是.css文件,一个是.js文件,然后把它们都放在C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\在这个目录下在创建一个文件夹codeArt,把这两个文件都放在这里;

      我这两个文件的代码如下:

      .CSS文件

      相信大家这都看的懂了;

      .JS文件

    2. 接下来就是WebPart的代码怎么来注册这两个文件了;

    代码如下:

    using System;

    using System.Runtime.InteropServices;

    using System.Web.UI;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Xml.Serialization;

    using Microsoft.SharePoint;

    using Microsoft.SharePoint.WebControls;

    using Microsoft.SharePoint.WebPartPages;

    using System.Web.UI.HtmlControls;

    namespace WebPart_CSS

    {

    [Guid("81236f7a-a38a-4744-a532-67ff6faca56b")]

    public class WebPart_CSS : System.Web.UI.WebControls.WebParts.WebPart

    {

    public WebPart_CSS()

    {

    }

    //声明页面等资源文件存放的目录

    public const string RESOURCE_PATH = "~/_layouts/codeArt/";

    /// <summary>

    /// 注册CSS文件

    /// </summary>

    /// <param name="filename">CSS文件名</param>

    public void RegisterCommonCSS(string cssFilename)

    {

    string id = cssFilename.ToLower().Replace(".", "_");

    //判断CSS文件是否被添加过

    foreach (Control ctl in this.Page.Header.Controls)

    {

    if (ctl.ID == id)

    {

    return;

    }

    }

    //创建CSS文件链接控件

    HtmlLink link1 = new HtmlLink();

    link1.ID = id;

    link1.Attributes["type"] = "text/css";

    link1.Attributes["rel"] = "stylesheet";

    link1.Attributes["href"] = base.ResolveUrl(RESOURCE_PATH) + cssFilename;

    this.Page.Header.Controls.Add(link1);

    }

    /// <summary>

    /// 注册脚本

    /// </summary>

    /// <param name="jsFilename">脚本文件名称</param>

    public void RegisterCommonJS(string jsFilename)

    {

    //脚本路径

    string jsPath = base.ResolveUrl(RESOURCE_PATH) + jsFilename;

    //注册脚本

    Page.ClientScript.RegisterClientScriptInclude(typeof(WebPart_CSS), jsFilename.ToLower(), jsPath);

    }

    protected override void OnPreRender(EventArgs e)

    {

    //注册CSS文件

    RegisterCommonCSS("test.css");

    //注册JS文件

    RegisterCommonJS("test.js");

    base.OnPreRender(e);

    }

    public Label lable = null;

    protected override void CreateChildControls()

    {

    lable = new Label();

    lable.Text = "我是张金山";

    lable.CssClass = "fontCss";

    this.Controls.Add(lable);

    string strInnerHTML = "<input type='button' id='btnSearch' value='Search' onclick='javascript:testJS()'/>";

    HtmlGenericControl html = new HtmlGenericControl();

    html.InnerHtml = strInnerHTML;

    this.Controls.Add(html);

    }

    }

    }

    这样就可以了;部署后看下效果如下:

    点击按钮如下:

  • 相关阅读:
    关闭Pinterest通知
    android——创建camera应用(译)
    Android样式——Styles
    Android Fragment学习(一)
    Win32汇编环境配置
    关于微信检测SDK应用的原理浅析(iOS)
    iOS的Mantle实战
    Objective-C运行时的一些技巧
    Autolayout入门教程
    基于RAC的通用TableView
  • 原文地址:https://www.cnblogs.com/KimhillZhang/p/1585027.html
Copyright © 2011-2022 走看看