Insus.NET想在StyleSheet.css文件处理一些图片路径问题。不管是指定相对路径还是绝对路径,都会引起一些问题,比如绝对路径,域名+目录+文件名,这种情形,当域名有改变时,图片就会显示不出来。如果在css使用相对路径,网页不同层次,也会显示不出来。

为了解决这个问题,Insus.NET只有使用另外办法。直接把.css文件内容搬至.ashx文件中。如:

InsusComboBoxCssStyle.ashx

<%@ WebHandler Language="C#" Class="Insus.NET.InsusComboBoxCssStyle" %>

using System;
using System.Web;

namespace Insus.NET
{
    public class InsusComboBoxCssStyle : IHttpHandler
    {
        public void ProcessRequest(HttpContext context)
        {
            string arrow_pic = VirtualPathUtility.ToAbsolute("~/Images/windows-arrow.gif");

context.Response.Clear();
            context.Response.ContentType = "text/css";
            string cssStyle = string.Empty;
            cssStyle += ".WindowsStyle .ajax__combobox_inputcontainer .ajax__combobox_textboxcontainer input {";
            cssStyle += " margin: 0;";
            cssStyle += "border: solid 1px #5B91CC;";
            cssStyle += "border-right: 0px none;";
            cssStyle += " padding: 1px 0px 0px 5px;";
            cssStyle += "font-size: 13px;";
            cssStyle += " height: 18px;";
            cssStyle += "}";

cssStyle += ".WindowsStyle .ajax__combobox_inputcontainer .ajax__combobox_buttoncontainer button {";
            cssStyle += " margin: 0;";
            cssStyle += " padding: 0;";
            cssStyle += " background-image: url('" + arrow_pic + "');";
            cssStyle += " background-position: top left;";
            cssStyle += " border: 0px none;";
            cssStyle += " height: 21px;";
            cssStyle += " width: 21px;";
            cssStyle += "}";

cssStyle += ".WindowsStyle .ajax__combobox_itemlist {";
            cssStyle += "border-color: #7F9DB9;";
            cssStyle += "line-height: 18px;";
            cssStyle += "}";

cssStyle += "table.ajax__combobox_inputcontainer td {";
            cssStyle += " padding: 0 !important;";
            cssStyle += " text-align: left !important;";
            cssStyle += "}";

cssStyle += "table.ajax__combobox_inputcontainer td.ajax__combobox_buttoncontainer button {";
            cssStyle += "  margin-left: 0 !important;";
            cssStyle += " }";
            cssStyle += ".WindowsStyle .ajax__combobox_inputcontainer .ajax__combobox_textboxcontainer input {";
            cssStyle += " margin: 0;";
            cssStyle += " border: solid 1px #5B91CC;";
            cssStyle += " border-right: 0px none;";
            cssStyle += " padding: 1px 0px 0px 5px;";
            cssStyle += " font-size: 13px;";
            cssStyle += " height: 18px;";
            cssStyle += "}";

cssStyle += ".WindowsStyle .ajax__combobox_inputcontainer .ajax__combobox_buttoncontainer button {";
            cssStyle += " margin: 0;";
            cssStyle += " padding: 0;";
            cssStyle += " background-image: url('" + arrow_pic + "');";
            cssStyle += " background-position: top left;";
            cssStyle += " border: 0px none;";
            cssStyle += " height: 21px;";
            cssStyle += " width: 21px;";
            cssStyle += "}";

cssStyle += ".WindowsStyle .ajax__combobox_itemlist {";
            cssStyle += " border-color: #7F9DB9;";
            cssStyle += " line-height: 18px;";
            cssStyle += "}";

cssStyle += "table.ajax__combobox_inputcontainer td {";
            cssStyle += " padding: 0 !important;";
            cssStyle += " text-align: left !important;";
            cssStyle += "}";

cssStyle += " table.ajax__combobox_inputcontainer td.ajax__combobox_buttoncontainer button {";
            cssStyle += "  margin-left: 0 !important;";

cssStyle += "}";
            context.Response.Write(cssStyle);
        }

public bool IsReusable
        {
            get
            {
                return false;
            }
        }

}
}

上面文件中,有三句是重点:

string arrow_pic = VirtualPathUtility.ToAbsolute("~/Images/windows-arrow.gif");

其余两句,只是中文档中位不同,但语法是一样的:

cssStyle += " background-image: url('" + arrow_pic + "');";

你也可以在专案中新建一个.ashx文档,然后把上面代码进行复制粘帖,保存。

应.aspx网页的head标签中,引用这个.ashx文档:

<link type="text/css" rel="stylesheet" href="InsusComboBoxCssStyle.ashx" />

到此,基本上已经完成了,但又好象少了一些演示例子:

<form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:UpdatePanel>
            <ContentTemplate>
                <ajaxToolkit:ComboBox ID="ComboBoxUM" runat="server" 
                    AutoPostBack="False"
                    DropDownStyle="DropDownList"
                    AutoCompleteMode="Suggest"
                    CaseSensitive="False"
                    CssClass="WindowsStyle"
                    ItemInsertLocation="OrdinalValue" Width="70px">
                    <asp:ListItem>个</asp:ListItem>
                    <asp:ListItem>米</asp:ListItem>
                    <asp:ListItem>公斤</asp:ListItem>
                    <asp:ListItem>升</asp:ListItem>
                </ajaxToolkit:ComboBox>
            </ContentTemplate>
        </asp:UpdatePanel>
        <div>
        </div>
    </form>

运行效果(最右侧的下拉箭头):

StyleSheet文件中路径处理相关推荐

  1. django项目中settings.py文件中路径设置问题

    2019独角兽企业重金招聘Python工程师标准>>> 首先,__file__表示当前模块的名字. 将下列代码写入os.path.py文件中,存放在桌面上 ""& ...

  2. shell中通过sed替换文件中路径

    通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/" 其中"typ ...

  3. [翻译]运用文件解析器在任意文件中使用虚拟应用路径(~)

    原文出处:http://www.codeproject.com    Using the FileResolver to allow virtual application paths ( ~ ) i ...

  4. PHP中在公用PHP文件中使用相对路径的正确方法

    公用PHP在不同路径的文件中被引用时,就要让公用PHP文件中的href为一个绝对url,考虑到我们的网站变化移植等因素,我们采用动态获取相对url的办法. <!DOCTYPE html> ...

  5. c++ include 路径_头文件中,#include使用引号“”和尖括号lt;gt;有什么区别?

    很多程序员写代码,可能没有仔细研究一些细节问题,比如今天说的#include相关的内容. 01 关于#include 首先,#include为预处理语句,那么什么是预处理语句呢?预处理语句最明显的标志 ...

  6. python3查找文件中指定字符串_Python3在指定路径下递归定位文件中出现的字符串...

    [本文出自天外归云的博客园] 脚本功能:在指定的路径下递归搜索,找出指定字符串在文件中出现的位置(行信息). 用到的python特性: 代码如下: import os import sys __all ...

  7. 搜索目录下 匹配文件中 最新的文件 路径

    搜索目录下 匹配文件中 最新的文件 路径 1  #!/usr/bin/python 2  import os 3  import glob 4  path = "/homeyufei/tes ...

  8. Linux下gcc编译中关于头文件与库文件搜索路径相关问题

    如何指定GCC的默认头文件路径 网上偶搜得之,以之为宝:) 原地址:http://blog.chinaunix.net/u/28781/showart.php?id=401631 ========== ...

  9. Python获取当前目录下所有文件的绝对路径并存储在文件中

    Python获取当前目录或者其他指定目录下所有文件的绝对路径并存储在文件中,程序如下: import osfid = open('GetAbsolutePath.txt', 'w')rootdir = ...

最新文章

  1. 群晖备份linux分区,黑群晖二合一系统无损扩充系统分区方法补充
  2. python怎么导入本地文件_Pycharm中如何导入本地Python环境
  3. SAP odata消费失败的故障排错
  4. BeetleX.WebFamily文件图片管理集成
  5. 【保存】maven的pom.xml标签的xsi:schemaLocation处报错
  6. 火灾原来离我们那么近
  7. 展示浏览 java_java利用 cookie 进行展示你所浏览过的的商品
  8. matlab legend下划线,MATLAB 画图 legend
  9. maxdos网刻教程(傻瓜型)
  10. PDF识别文字、关键字,获取对应坐标,用于插入电子签名
  11. SpringBoot2.0系列教程(四)Springboot框架自定义消息转换器
  12. GitHub开源组件集锦
  13. 蚁群算法(ACO)最短路径规划(MATLAB)
  14. 随便谈谈IT行业的几个定律
  15. Telephony之TelephonyManager(原)
  16. 大二物竞金牌转北大计算机,靠竞赛进入清北的学生,都能选哪些专业?| 2019竞赛优惠专业分析...
  17. 00后确实卷,公司新来的卷王,我们这帮老油条真干不过...
  18. linux下测试网卡是否连通shell脚本
  19. 《海上钢琴师》The Legend Of 1900
  20. 0201导数的概念-导数与微分-高等数学

热门文章

  1. 4j导入节点与关系_Neo4j Cypher 中怎样根据值动态指定关系类型?
  2. 服务器空闲搭建什么网站,空闲的云服务器可以干什么
  3. linux下sql查询的使用,sql-server – 如何在Linux上查看SQL Server中的执行计划
  4. redis持久化 mysql_Redis 如何保持和MySQL数据一致
  5. sonarqube使用教程
  6. 服务器安全性文档,Microsoft Web服务器的安全性
  7. python中in_python中的min和in用代码实现
  8. android ui动画效果怎么做,AndroidUI 布局动画-为列表添加布局动画效果
  9. mysql 查询实体_mysql – 如何优化实体框架查询
  10. 几种常见的攻击方式扫盲(二)——DNS 反射放大攻击