首页 > 代码库 > Asp.Net之后台加载JS和CSS

Asp.Net之后台加载JS和CSS

在Asp.Net开发时,用到的JS库、通用的CSS等,在许多页面都会用到,而每次都需要手动引入,相当麻烦,而且有时一旦忘了引用,还得找半天才能找到问题。那有没有什么办法能够一劳永逸的呢?答案是有的。

我们知道Asp.Net是可以通过后台来渲染前端的,所以如果能够在渲染时将所要的js库和css等添入就可以了。而为了能够复用,所以需要进行类的继承。我们写一个Page的基类PageBase,代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Text;

namespace AspNetLoadJsCss.Common
{
    public class PageBase : System.Web.UI.Page
    {       
        public static readonly string SCRIPT_INCLUDE_TEMPLATE = "<script src=http://www.mamicode.com/"{0}/" type=/"text/javascript/"></script>/r/n";>注:

1.在页面初始化完成的时候载入相应的JS和CSS文件,所以在Page_InitComplete中实现代码。

2.对于CSS文件需要添加到header中,所以使用Header来添加LiteralControl的CSS控件。

3.对于JS文件,使用注册的方式来载入。

4.如果需要载入一些通用的JS函数或者CDATA,也可以考虑这种方式。

有了PageBase页面之后,对于需要加载这些JS和CSS的页面,就可以直接继承于PageBase,然后重载Page_Load函数,其他的就是正常的写法了。比如

Test页面的后端代码

public partial class Test: PageBase
    {
        protected override void Page_Load(object sender, EventArgs e)
        {

        }
    }
Test页页的前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="AspNetLoadJsCss.Test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    </form>
</body>
</html>
渲染后的HTML页面


可以看到CSS和JS都已经载入了。

转载请注明出处: 

Asp.Net之后台加载JS和CSS


Asp.Net之后台加载JS和CSS