天天看點

WebResource.axd檔案的配置和使用

很多ASP.NET server控件都需要另外的外部資源來實作某些功能,WebResource.axd就是将一些js,jpg,bmp等封裝或叫植入到類庫裡面。

使用WebResource.axd需要注意幾點

1.在類庫中注冊js腳本資源

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

[assembly: WebResource("WebResource.dome.js", "text/javascript", PerformSubstitution = true)]
namespace WebResource
{
    public class WebDemo
    {
        public WebDemo(System.Web.UI.Page p)
        {
            string key = base.GetType().ToString();
            if (!p.ClientScript.IsClientScriptBlockRegistered(key))
            {
                p.ClientScript.RegisterClientScriptResource(typeof(WebDemo), "WebResource.dome.js");   //這時就是将js檔案注冊到頁面,,注意js檔案名稱的寫法:命名空間+檔案夾名子(如果沒有放在檔案夾中可以省略)+檔案名稱
            }
        }
    }
}      
dome.js:      
function HellowWeb() {
    alert("我來自類庫中的js檔案");
} 
      
dome.js需要修改屬性,“生成操作”=“嵌入的資源”      
2.在要使用的頁面      
using WebResource;

protected void Page_Load(object sender, EventArgs e)
{
       //注冊js腳本
       new WebDemo(this);
}
      

  

<form id="form1" runat="server">
        <input id="Button" onclick="HellowWeb();" type="button" value="button" />
    </form>
      

3.修改Config檔案

<pages validateRequest="false" enableEventValidation="false" pageBaseType="WebResource.WebDemo,WebResource">
</pages>


<httpHandlers>
  <add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="true"/>
</httpHandlers>
      

  

參考:

http://blog.csdn.net/kingmax54212008/article/details/9917409

https://msdn.microsoft.com/zh-cn/library/system.web.ui.clientscriptmanager.registerclientscriptresource.aspx