说明:该博客使用的方法我已经不再使用,只是还具有学习价值,所以暂不删除。

不再使用的原因是没有相关js引用,css引用,在VS中没有提示功能,太费力了,与之相比,复制一下其实还轻松一点,只是如果要换就比较麻烦,更新静态文件也不好刷新缓存,但是这个对我们公司的影响比较小。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Html文件的缺点就是不能重用,MVC可以在_Layout.cshtml中将每个页面都需要的js和css文件(如jq,bootstrap等)都引用进去,webform就麻烦一点。

webForm需要给所以页面派生个父类BasePage,然后在BasePage中给每个页面的Header添加css和js文件。当然也可以用js的方法,如新建一个js文件,然后在里面写document.write("<script src='js地址'>")引用进去,但是缺点是每个页面还要配置js,比较麻烦,对一般后台来说,还是写在类里比较方便。

下面是添加动态js和css的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI;
using System.Web.UI.HtmlControls; namespace Utility.WebForm
{
public class HtmlControl
{
/// <summary>
/// 注册js
/// </summary>
/// <param name="page"></param>
/// <param name="url"></param>
public static void RegJs(Page page, string[] url)
{
foreach (var item in url)
{
HtmlGenericControl htmlGenericControl = new HtmlGenericControl();
htmlGenericControl.TagName = "script";
htmlGenericControl.Attributes.Add("type", "text/javascript");
htmlGenericControl.Attributes.Add("src", item);
page.Header.Controls.Add(htmlGenericControl);
}
} /// <summary>
/// 注册Css
/// </summary>
/// <param name="page"></param>
/// <param name="url"></param>
public static void RegCss(Page page, string[] url)
{
foreach (var item in url)
{
HtmlLink htmlLink = new HtmlLink();
htmlLink.Href = item;
htmlLink.Attributes.Add("type", "text/css");
htmlLink.Attributes.Add("rel", "Stylesheet");
page.Header.Controls.Add(htmlLink);
}
}
}
}

在webForm中调用时这样的,只需要配置css和js就好了

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace Utility.WebForm
{
/// <summary>
/// 基本页面类的父类/// </summary>
public class PageBase: System.Web.UI.Page
{ #region 静态资源地址
public string[] Css{ get;set;}
public string[] Js { get; set; }
#endregion /// <summary>
/// 页面初始化
/// </summary>
protected override void OnInit(EventArgs e)
{
#region 权限检测
//。。。
#endregion #region 设置公共页面样式
HtmlControl.RegCss(this, Css);
HtmlControl.RegJs(this, Js);
#endregion
} public PageBase()
{
Css = new string[]{
"/Content/bootstrap/bootstrap.min.css",
"/Content/bootstrap/bootstrap-responsive.min.css",
"/Content/ligerUI/skins/Aqua/css/ligerui-all.css",
"/content/comom/formcommon.css"
};
Js = new string[]{
"/Content/Jquery/jquery-1.9.1.min.js",
"/Content/bootstrap/bootstrap.min.js",
"/Content/ligerUI/js/ligerui.min.js",
"/Public/Js/My97DatePicker/WdatePicker.js",
"/content/comom/formcom.js"
};
} //。。。其他代码。。。
}
}

需要说明的地方:

HtmlGenericControl 类

只要我们在html标签上面加了runat,他就会生成一个htmlGenericControl类。

在 .aspx文件中我们将一个div定义成服务器控件

<div runat="server" id="div1" title="网站管理">

然后再 .aspx.designer.cs文件中会自动给我们加上这样的标签

        /// <summary>
/// div1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl div1;

所以我们也可以手动定义htmlGenericControl然后将他添加到另一个服务器控件中,如header中。

webForm系列 前端框架快速引用的更多相关文章

  1. Bootstrap前端框架快速入门专题

    1.Bootstrap简介 Bootstrap,出自自 Twitter,是目前最受欢迎的前端框架. Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的前端框架,它简洁灵活,使得 W ...

  2. 【前端框架系列】浅谈当前基于bootstrap框架的几种主流前端框架

    一  概述 当新开发一个项目或产品时,技术选型是一个不可缺少的环节,在软件架构中有着举足轻重的作用,可以这么说,技术选型的好坏直接影响项目或产品的成败优劣,因此,在进行软件架构时,一定要想好技术选型. ...

  3. 快速入门系列--WebAPI--03框架你值得拥有

    接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5.单页应用程序SPA等技术和理念很好的结合在一起.所谓ASP.NET WebAPI ...

  4. 如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor

    要想快速完成一个项目, 自动化是很关键很有用的一块. 自动化测试比人工测试快很多. 特别是在回归测试中. 实践证明, 虽然投入了时间在写自动化测试代码上, 但是在回归测试中节省了大量的时间,同时及时发 ...

  5. 前端框架vue.js系列(9):Vue.extend、Vue.component与new Vue

    前端框架vue.js系列(9):Vue.extend.Vue.component与new Vue 本文链接:https://blog.csdn.net/zeping891103/article/det ...

  6. UIkit – 轻量级前端框架,帮助你快速构建 Web 界面

    UIKit 是一个轻量级,模块化的前端框架,用于构建快速和强大的 Web 界面.UIKit 为您提供了 HTML,CSS 和 JavaScirpt 组件,使用简单,容易定制和扩展.UIKit 基于 L ...

  7. Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的. 历史 Bootstrap 是由 Twitter 的 ...

  8. bootCDN引用的bootstrap前端框架套件和示例

    这是bootCDN上引用的bootstrap前端框架套件,由多个框架组合而成,方便平时学习和测试使用.生产环境要仔细琢磨一下,不要用开发版,而要用生产版.bootCDN的地址是:https://www ...

  9. b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释

    继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...

随机推荐

  1. 理解javascript函数的重载

        javascript其实是不支持重载的,这篇文章会和java语言函数的重载对比来加深对javascript函数重载的理解.       以下我会假设读者不了解什么是重载所以会有一些很基础的概念 ...

  2. JNI中的内存管理(转)

    源:JNI中的内存管理 JNI 编程简介 JNI,Java Native Interface,是 native code 的编程接口.JNI 使 Java 代码程序可以与 native code 交互 ...

  3. cocoapod升级版本

    原文 http://blog.csdn.net/sing_sing/article/details/49762359 该方法好用 sudo gem install -n /usr/local/bin ...

  4. 如何开发一个微信小程序

    一.概述     特点:对商家来说,小程序的开发成本低(有丰富的组件.api等).运营成本低(有数据日志等).稳定.互动流畅,便于分享.传播(基本微信平台的大量用户).对用户来说,扫码即可获取服务,随 ...

  5. jQuery对象插件封装步骤

    jQuery是js的一个非常优秀的库,它大大简化了js的很多操作,并且解决了js的大部分兼容性问题.甚至很多css兼容性问题,用jQuery写都能解决. 这里是对象插件的封装.当然,封装插件很多,这里 ...

  6. JDBC oracle 错误总结

    ORA-28040: No matching authentication protocol jdk:1.8 oracle:12c 使用ojdbc14.jar 报错:ORA-28040: No mat ...

  7. Zepto 使用中的一些注意点(转)

    http://www.zeptojs.cn/     zepto英文站在线文档 http://www.css88.com/doc/zeptojs_api/       zepto中文站在线文档 htt ...

  8. js架构设计模式——前端MVVM框架设计及实现(一)

    前端MVVM框架设计及实现(一) 最近抽出点时间想弄个dom模块化的模板引擎,不过现在这种都是MVVM自带的,索性就想自己造轮子写一个简单的MVVM框架了 借鉴的自然还是从正美的avalon开始了,我 ...

  9. log4net的分类型输出文件的配置

    <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSe ...

  10. Round-Robin负载均衡算法及其实现原理

    毫无疑问,随着互联网.移动网络接入成本的降低,互联网正在日益深入地走入我们的生活,越来越成为人们获取信息的高效平台,ICP行业也顺势呈现出强劲的成长趋势,成为互联网迅猛发展形势下最大的受益者,也直接促 ...