申明文笔不好,不过看完你肯定会有收获。废话少说,下面开始。按照WebResource.axd是什么,为什么,怎么样 科学思路进行。 
看到页面中有</scriptsrc"/WebResource.axd?d=Bdl2sEQMgrMj6AITjzrcgZbPgTObB4ykXx6CSfzqrXWcfOyu_NiIQ6E3upD_Pk1W8jYtP47x6aWIKT3u_pHTk5MhN9AHHLH_d7enHWD6g_mWKWu1McSvPengCcNlniVWCG7PTQ2&amp;t=634725230533545912"type"text/javascript">script>
不知道WebResource.axd 为何物,,遂百度一番,,资料甚少,,未果。。问题依旧,绕开不是办法,解决才是王道。百度继续。。
随着东一片文章片段,西一简短说明,拼装起来慢慢了解了大概。 下面的有此片段是本人从网上摘抄而成,读完你也许大概可能会知道如何时使用此物。
一、WebResource.axd 是什么 
//摘抄   http://blog.csdn.net/heker2007/article/details/2078117
很多ASP.NET server控件都需要另外的外部资源来实现某些功能.比如,使用任何一个ASP.NET validation验证控件时,都需要一系列的JavaScript functions来执行它们的客户端验证.虽然可以在页面上添加这些JavaScript functions,不过更高效的方法是将这些函数封装在一个外部的JavaScript文件里,然后在页面通过<script src="PathToExternalJavaScriptFile" type="text/javascript" >的形式来将该文件包含在页面里.这样一来不仅可以实现对页面的瘦身,还可以允许浏览器对该JavaScript文件施行缓存(这样就不用每个页面在登录/回传时向浏览器发送该JavaScript代码了)

在ASP.NET 2.0之前,用户浏览器要访问这种外部资源的话,我们必须将它们作为具体的文件放在文件系统里.如果你使用ASP.NET 1.x的验证控件的话,你的页面必须添加一个对JavaScript文件的引用,如/aspnet_client/system_web/version/WebUIValidation.js.这些外部文件有碍最后的部署.

为解决这个问题,ASP.NET 2.0允许将外部资源植入控件的装配件里,通过一个指定的URL对其访问.将外部images, JavaScript files,CSS files植入控件的装配件后,部署就容易了,因为所有的资源都包含在.dll文件里了. 完成植入操作后,在ASP.NET 2.0页面里我们可以通过一个指定的URL(WebResource.axd)来实现对这些资源的访问. 
上面这段告诉你 WebResource.axd是什么!说白了,就是将一些js,jpg,bmp等封装或叫植入到类库里面。 
二、为什么
为什么WebResource.axd要使用这个东西,不使用这个东西可能吗?,,答案当然是:可以。那样你就按你老套的办法,将js文件,使用<script src="xxx" type="test/javascript"></script>这种方法
,引入外部文件。这些外部文件有碍最后的部署。
而使用WebResource.axd这个东西,则可以轻易解决上面的问题,而且好处多多,,因为js等文件是放在类库中的,所以在类里面,可以随时方便调出来,有指那打那的感觉。
三、怎么样
这部分才是重中之重!有了js文件,怎么将他植入面类库中,,然后又在页面上调出来里面的函数。

1,我们新建一个类库,名称为Sun.Controls,,命名空间也为Sun.Controls。这名子你随便起。

2,然后在里面建一个类WebDemo.cs。此类里面有如下方法

public class  WebDemo : Page //继承自Page类

{

protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
string key = base.GetType().ToString();
if (!base.ClientScript.IsClientScriptBlockRegistered(key))
{   
base.ClientScript.RegisterClientScriptResource(typeof(FormPage), "Sun.Controls.demo.js");   //这时就是将js文件注册到页面,,注意js文件名称的写法:命名空间+文件夹名子(如果没有放在文件夹中可以省略)+文件名称      如Sun.Controls.demo.js  
}

}

}

3 ,再新建一个js文件,,demo.js。demo.js文件里面有一个方法

function HellowWeb() {

alert("我来自类库中的js文件");

}

然后将这个文件放到Sun.Controls这个类库的根目录下.

OK,下面就是配置WebResource.axd这个东西,让这个东西起作用,指那打那。

4,在你的"解决方法资源管理器"中找到WebDemo.cs类,在类中找到 demo.js这个文件 ,右击查看“属性”,,将“生成操作”设为“嵌入的资源”。此属性默认是“内容”,如果你不改为“ 嵌入的资源 ”的话,页面底下会有一个常伴你的黄色感叹号,提示你“未找到对象”,,让你明年你也调不到这个js文件里的方法。

5,在 WebDemo.cs类的Properties文件夹中,找到AssemblyInfo.cs这个类,,双击打开。。。添加一句 [assembly: WebResource("Sun.Controls.demo.js 
", "application/x-javascript")]  这里如果 WebResource不是淡蓝色的话,引入using System.Web.UI。。后面的参数写“ text/javascript”或“ application/x-javascript
”都可以,不过写后的这个感觉牛X一点,,至于 为什么?你打IIS里面的 “MIME类型”,双击.js就可以看到,,里面就是这么写的。

6,好了,,在解决方案中新建一个网站, 新建一个index.asp页面,不要index.aspx.cs这个文件。。

<%@ Page Language="C#" inherits="Sun.Controls.WebDemo" %>
<!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="from1" runat="server">
<div>      
<input id="Button2" οnclick="HellowWeb();" type="button" value="button" />
</div>
</form>
</body>

</html>

这里要注意,1.最上面的一句inherits="Sun.Controls.WebDemo" ,意思是本页面是继承这个类的,因为只在这个类中,我们注册了js文件。2.一定要有一个form,并且这个 form必须是  runat="server"的。

好了,可以启动测试这个页面了,,击点页面中的按钮,看是不是能掉到deom.js里面的方法了。。

如果出错在web.config <system.web>下加一句<pages validateRequest="false" enableEventValidation="false" pageBaseType="Sun.Controls.WebDemo 
,Sun.Controls" />

感谢您阅读我的文章,只希望这篇文章没有误导你我就满意了,要是能帮助你那我就很开心了,水平实在有限,不足之处还望海涵。

转载于:https://www.cnblogs.com/suncms/archive/2012/05/13/2498326.html

一点点对WebResource.axd的配置及使用[原创]相关推荐

  1. 【IIS服务器】 一点点对WEBRESOURCE.AXD的配置及使用

    一点点对WEBRESOURCE.AXD的配置及使用 - Jimmy Huang 的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/kingmax54212008/a ...

  2. WebResource.axd引起的问题

    很郁闷今天被一个路径问题困扰了一整天, <script type="text/javascript" src="/WebResource.axd?d=6RICuMl ...

  3. 一次 WebResource.axd 异常处理经历

    转自http://www.cnblogs.com/Justinlin/archive/2011/08/11/2135402.html 一个朋友更新了一次项目的版本,更新完后,发现程序老是报脚本错误,执 ...

  4. ~/Telerik.Web.UI.WebResource.axd' is missing in web.config

    Problem     : 在WebConfig添加了 <add name="Telerik_Web_UI_WebResource_axd" verb="*&quo ...

  5. nginx+tomcat,http强制跳转https后的error_page配置!【原创】

    最近在生产环境搭建时发现http强制301跳转到https后error_page的设置怎么都不生效,后来检查出了原因,根据网上的搜索资料在加上自己的逻辑分析,最终实现了这个功能.如有更简单的方法请高手 ...

  6. vsftpd 在linux 中的环境配置【部分原创】

    vsftpd 做为linux 中的服务器,给我们带来了极大的方便,在安装完linux系统环境lnmp后,要安装Vsftpd ,用yum安装后,要添加用户,默认有个www的用户,你也可以直接给www设定 ...

  7. 一篇文章搞懂STL中的空间配置器allocator(原创,多图,易懂)

    Table of Contents 0.引入 1.标准的空间配置器allocator 2.更为高效的空间配置器alloc 2.1----对象的构造与析构 2.1.1 对象的构造:::construct ...

  8. win系统一键安装redmine+配置+插件安装配置教程【原创-亲测安装成功-一枚测试喵】

    一.安装准备 系统:win7/win8/win10,我是以win7为例子来说的,搭建了一个虚拟机,安装的win7-64位系统. redmine版本:bitnami-redmine-3.1.1-1-wi ...

  9. impala java 堆内存配置_【原创】大叔问题定位分享(38)impala报错内存不足

    impala有时查询报错内存不足,并持续一段时间后自动恢复,报错时日志如下: org.apache.hive.service.cli.HiveSQLException: ExecQueryFInsta ...

最新文章

  1. 只懂JavaScript也可以开发VR/AR内容了!
  2. LevelDB (1)概述
  3. 鸿蒙IPC摄像机,华为鸿蒙OS来了,海雀AI全景摄像头助力万物互联
  4. 电脑:分享八个实用的电脑技巧,小白必备!
  5. Python应用02 Python服务器进化
  6. Ubuntu下安装JDK1.8并配置开发环境
  7. php获取工作日时间,ThinkPHP中获取指定日期后工作日的具体日期方法
  8. Linux下的Java虚拟机性能监控常用命令
  9. python排列组合之itertools模块
  10. 诺基亚java软件下载_诺基亚手机安装JAVA软件程序
  11. 计算机网络医院拓扑图方案设计,【方案】某医院计算机网络综合布线系统设计...
  12. smartdrv.exe的使用及简单说明和相关程序下载
  13. 人工智能对数据分析师的影响
  14. 树莓派开机启动chromium浏览器
  15. 怎么把pdf文件转换成word免费转换器
  16. 如何高效率的学习Web前端,个人经验分享
  17. Windows两台服务器之间实现文件共享
  18. wordpress瀑布流图片主题PhotoBroad模板V2.0
  19. Java面向对象设计
  20. qpython3l最新版下载_qpython3l

热门文章

  1. 功率单位mW和dBm的换算
  2. Python命名空间和作用域窥探
  3. Ubuntu18.0.4仿Mac界面
  4. 宽度优先搜索python_宽是什么意思 宽字五行属什么
  5. GitHub桌面版和汉化包,使用详细(GitHub Desktop安装,github软件汉化包详细使用过程)
  6. 大数据为何成为IT行业热门高薪岗位?
  7. SpringMVC+Vue实现前后端的志愿者招募网站
  8. 发那科数控车ftp联网
  9. JAVA写代码学费,java编程培训班学费是多少
  10. Ubuntu配置清华源