- 浏览: 79564 次
- 性别:
- 来自: dg
文章分类
- 全部博客 (70)
- [随笔分类]DB(数据库) (18)
- c# (1)
- 实用参考代码 (1)
- 默认收藏夹 (9)
- [网站分类]6.读书区(技术书籍阅读心得、书籍推荐) (1)
- xml&web服务 (1)
- [随笔分类]Asp.net (18)
- C# BLOG (1)
- 技术仓库 (0)
- .net (1)
- 编程技巧 (1)
- [随笔分类].Net Framework (1)
- [随笔分类]程序人生(非技术) (1)
- [随笔分类]其他技术类 (1)
- [随笔分类]WAP (1)
- 收藏夹 (1)
- 其他 (1)
- DotNet技术 (4)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (4)
- [网站分类]7.提问区(建议在<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>中提问) (2)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (1)
- [随笔分类]Javascript & Css & Html (1)
最新评论
在开发中我们为了整个程序目录结构清晰化,望望会建立许多不同的文件目录.
例如结构如下:
|root
|pic
|web
|usercontrol
在web目录中,我们怎么取到pic目录中的图片路径呢?
方法1:
让我们先看看ASP.NET StartKit TimeTracker的解决方案:
ASP.NET StartKit TimeTracker的类Global中定义了一个公有方法:
{
string path = string.Empty;
try
{
if(request.ApplicationPath != "/")
path = request.ApplicationPath;
}
catch (Exception e)
{
throw e;
}
return path;
}
在需要的地方进行调用,例如:
<a href='<%= Global.GetApplicationPath(Request) %>/<%# ((ASPNET.StarterKit.TimeTracker.BusinessLogicLayer.TabItem)
Container.DataItem).Path %>'>
<%# ((ASPNET.StarterKit.TimeTracker.BusinessLogicLayer.TabItem) Container.DataItem).Name %>
</a>
我对此方法进行了修改:
我先定义一个页面基类.
public class PageBase :System.Web.UI.Page
让系统中的其他aspx页面继承PageBase.
在基类定义下面的属性
{
get
{
string path=String.Empty;
try
{
if ("/"!=Request.ApplicationPath)
{
path=Request.ApplicationPath;
}
}
catch(Exception e)
{
throw e;
}
return path;
}
}
在我的aspx页中,进行下面属性绑定得到图片
<img src='<%= appPath+"/pic/register.gif" %>' >
方法2:
也是我以前常用的方法
<asp:Image id="Image1" runat="server" ImageUrl="../pic/register.gif"></asp:Image>
其实服务器控件支持另一种路径表示方法:"~", 相当于HttpRequest.ApplicationPath
<asp:Image Runat="server" id="Image1" ImageUrl="~/pic/register.gif"></asp:Image>
非服务器控件也可以这样:
<img src="../pic/register.gif">
方法3:
用户的机器上部署的时候,将路径保存在web.config里面了。然后图片的路径是在后台的.cs中用Configuration.appsettings确定
这方法是最差的一招
总结:个人感觉方法1最好,最灵活,也是我在许多微软例题中看到的用得最多的方法。
不知道还有没有其他方法,欢迎指点。
<!---->
发表评论
-
图片问题?
2004-06-12 00:58 617图片问题? 例如我有一个ASP.NET工程在目录C:\BBS下 ... -
用Javascript在客户端实现遍历datagrid,DataList控件,像MSN中的全选
2004-07-04 21:56 1417刚刚看了..NET中遍历DataList控件,像MSN中的全选 ... -
ASP.NET状态管理之一(概括篇)
2004-07-14 00:50 632每次将网页发送到服务器时,都会创建网页类的一个新实例。在传统的 ... -
ASP.NET状态管理之二(查询字苻串QueryString)
2004-07-14 01:25 797查询字苻串是追加在URL后的数据(也是我常用的)例如:http ... -
ASP.NET状态管理之三(隐藏域HiddenField)
2004-07-14 01:50 2190ASP.NET 允许您将信息存储在 HiddenFiel ... -
ASP.NET状态管理之四(暂存状态HttpContext.Items)
2004-07-14 17:47 1041ASP.NET提供一个类System.Web.HttpCont ... -
ASP.NET状态管理之七(其他物理数据存放媒体)
2004-07-15 23:25 596ASP.NET状态存储还可以存放在数据库,XML文件,文本文件 ... -
ASP.NET状态管理之六(缓存Cache)
2004-07-15 23:44 1473ASP.NET 提供一个功能完整的缓存引擎,页面可使用该引擎通 ... -
Web.config文件中</appSettings>节点的配置数值读取的2种方法,哪种更快?
2004-10-18 09:37 2378<appSettings> <add key ... -
准备精读开源的.NET代码,希望能坚持
2004-12-08 12:53 981近来无事,把开源的.NET全部找出来,准备精读。 阅读同时想把 ... -
代码阅读总结之ASP.NET StartKit Commerce
2004-12-20 16:47 808ASP.NET StartKit Commerce简单 ... -
asp.net能实现身份认证的EMAIL发送方法(c#版本)
2004-12-28 11:15 4871public void sendMail() ... -
代码阅读总结之ASP.NET StartKit TimeTracker(角色权限之捉虫笔记)
2005-01-17 14:56 645在ASP.NET StartKit TimeTracker中由 ... -
代码阅读总结之ASP.NET StartKit TimeTracker(数据绑定之困惑笔记)
2005-01-24 18:00 660以前在项目中数据绑定一直用<%# %> 今天在A ... -
Asp.net未处理异常的2种解决方式(个人总结篇)
2005-02-21 15:34 827Asp.net中引发未处理的异常时,我们怎么处理。我总结了2种 ... -
代码阅读总结之Fitch and Mather 7.0(资源文件Resource随笔)
2005-04-21 18:03 656在Fitch and Mather 7.0中利用了大量的资源文 ... -
代码阅读总结之Fitch and Mather 7.0(自定义字符串缓存页)
2005-10-18 13:29 755前段时间工作比较忙,没时间读代码,这几天有空,正好又来静读代码 ...
相关推荐
基于ASP.net Startkit开发的一款船务公司网站框架,供网友分享参考。
周立功Fusion startkit资料的实验例程的高级实验部分,libero ide8.0版本下运行
微信小程序 StartKit (Gulp + Babel + Sass) 使用ES6(ES2015)提供的语法进行开发,构建时用Babel进行转译 使用SASS作为样式表预处理器 编译后的代码进行了压缩优化,并生成必要的Source Map文件 待完善的功能: 目前...
周立功Fusion startkit资料的实验例程的基础实验部分,libero ide8.0版本下运行
微信小程序的优势在于它方便快捷、轻量级、跨平台、丰富的推广方式、丰富的功能接口、数据分析与优化、结合微信支付、支持多场景应用、社交功能以及多端同步等。这些优点使得小程序能够满足用户的多种需求,提供更好...
Fusion-StartKit白皮书(周立功)-超级详细
c51的学习板等等c51的学习板等等c51的学习板等等c51的学习板等等
startKIT 示例程序 所需软件(依赖项) sc_i2s ( :xcore/sc_i2s) sc_i2c ( :xcore/sc_i2c) sc_slicekit_support ( ) sw_audio_effects ( :xcore/sw_audio_effects) sc_sdram_burst ( ) sc_capacitive_sensing...
周立功Fusion StartKit,fpga开发板的实验例程,adc
1. 概述3 2. 配置串口3 3. 菜单简介3 3..1.3 停止自动保存日志3 1. 概述 2. 配置串口 3. 菜单简介 3..1.3 停止自动保存日志
周立功Fusion StartKit,fpga开发板的实验例程electric current
周立功Fusion StartKit,fpga开发板的实验例程Flash Memory RAM
1. 代码结构介绍7 2. 开发开发板程序10 3. 编译开发板程序10 4. 下载开发板程序10 1. 在断电条件下插入电信 NB-IOT 通信卡(必须事先实
ProASIC3 StartKit开发板原理图-周立功
西电startkit电路板图,有板子没有电路图的可以看下,很清晰
周立功Fusion StartKit,fpga开发板的实验例程FlashROM
ACTEL A3P StartKit FPGA开发全套文挡(含测试源码) FPGA_Design PCB_Design Actel A3P1000 Evaluation Board Demo
哦,我需要创建一个用于处理应用程序的服务器! 哦,我需要Redux / Redux-Saga安装才能在应用中进行状态管理! 哦,我需要安装Webpack并花一些时间进行配置! 哦,我需要优化和最小化JS / CSS / etc。 捆绑! ...
创建一个利用上面的AAR库的示例演示应用程序。 注意:使用Bintray和sonatype一段时间后,由于在开发周期内易于处理快照,我现在更喜欢sonatype。 因此,您可以使用入门工具包开发AAR,然后将其发布到MavenCentral...
假如我们使用VisualStudio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:图2-2-1点击Import,弹出下面的...