2012/05/08, 16:22 - Post by tonee
IE6下其中一个双倍BUG,HTML页面中只要在padding-top的元素内使用class=”clear”,那就会出现双倍高度(height、padding、margin)的BUG:
1
| .clear {visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;} |
解决方案:在.clear的CSS里添加一句话overflow:hidden;
1
| .clear {visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0;overflow:hidden;} |
2012/04/26, 11:11 - Post by tonee
一、Excel导入到Access
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| OleDbConnection con = new OleDbConnection();
try
{
OpenFileDialog openFile = new OpenFileDialog();//打开文件对话框
openFile.Filter = ("Excel 文件(*.xls)|*.xls");//后缀名
if (openFile.ShowDialog() == DialogResult.OK)
{
string filename = openFile.FileName;
int index = filename.LastIndexOf("//");//截取文件的名字
filename = filename.Substring(index + 1);
conExcel.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" +
Application.StartupPath + "//Appdata.mdb";
// 将excel导入access
// distinct :删除excel重复的行.
// [excel名].[sheet名] 已有的excel的表要加$
// where not in : 插入不重复的记录
string sql = "insert into Users2(用户编号,用户姓名) select distinct * from [Excel 8.0;database=" +
filename + "].[name$] where 用户编号 not in (select 用户编号 from Users2) ";
OleDbCommand com = new OleDbCommand(sql, con);
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("导入数据成功", "导入数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
} |
二、Access导出到Excel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| OleDbConnection con = new OleDbConnection();
try
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = ("Excel 文件(*.xls)|*.xls");//指定文件后缀名为Excel 文件
if (saveFile.ShowDialog() == DialogResult.OK)
{
string filename = saveFile.FileName;
if (System.IO.File.Exists(filename))
{
System.IO.File.Delete(filename);//如果文件存在删除文件
}
int index = filename.LastIndexOf("//");//获取最后一个/的索引
filename = filename.Substring(index + 1);//获取excel名称(新建表的路径相对于SaveFileDialog的路径)
// select * into 建立新表
// [Excel 8.0;database= excel名].[sheet名] 如果是新建sheet表不能加$,如果向sheet里插入数据要加$.
// sheet最多存储65535条数据
string sql = "select top 65535 * into [Excel 8.0;database=" + filename + "].[用户信息] from Users2";
conExcel.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" +
Application.StartupPath + "//Appdata.mdb";//将数据库放到debug目录下
OleDbCommand com = new OleDbCommand(sql, con);
con.Open();
com.ExecuteNonQuery();
MessageBox.Show("导出数据成功", "导出数据", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
con.Close();
} |
2012/04/07, 17:52 - Post by tonee
将做好的网站上传到服务器上,发现flv的视频不能播放,原来是服务器不支持,需要设置MIME类型。
一般的,虚拟主机管理里面都有这个选项,自定义MIME类型,按如下添加:
扩展名: .flv
MIME类型: flv-application/octet-stream
如果可以直接操作服务器的话,按照如下步骤操作:
单击【开始】→【程序】→【管理工具】→【IIS管理器】,逐步展开“本地计算机”、“网站”,在你的网站上右击,选择【属性】,单击“HTTP头”选项卡→单击“MIME类型”按钮,再单击“新建”按钮,在“扩展名”框内输入“.flv”,“MIME类型”框中输入“flv-application/octet-stream”,然后确定即可。
2012/04/03, 17:40 - Post by tonee
原先的项目上传图片什么的都正常,将本项目复制一份后再执行图片上传操作的时候却提示:“对路径的访问被拒绝”。从网上查阅了很多资料,大多都是说权限问题,或者那个上传页面的权限,或者读取图片的文件夹权限,或者IIS的权限等。挨个试了一遍都不管用。
几经折腾后终于发现了问题,那就是本项目下的upload文件夹权限不足,导致图片不能上传到本文件夹中。于是,按照下面的步骤操作轻松搞定了问题。
要将ASP.NET访问权限予某个文件夹,请在资源管理器中右击该文件夹,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组(计算机名\ASPNET)。突出显示ASP.NET帐户,选中所需访问权限对应的框(写入和修改)。
如果没有ASP.NET计算机账号(计算机名\ASPNET)这一项,按“添加”-“高级”-“立即查找”,从下面列表中选择确认添加即可。
2012/03/29, 00:24 - Post by tonee

如上图,相册页面中的图片有横有竖,并且要实现图片水平或者垂直居中。网上有很多种方法,尝试过一遍后推荐下面的方法。亲测,兼容IE6,7,8,FF,chrome等浏览器。
HTML代码:
1
2
3
| <div id="imgBox">
<img src="images/abc.jpg" alt="" />
</div> |
CSS代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| #imgBox {
width: 136px;
height: 136px;
text-align: center;
border: #e0e0e0 solid 1px;
/* 兼容FF chrome等标准浏览器 */
display: table-cell;
vertical-align: middle;
/* 兼容IE6 IE7浏览器 */
*display: block;
*font-size: 119px; /* 字体大小约为行高的0.873倍 136*0.873=119 */
*font-family: Arial; /* 防止非utf-8引起的hack失效,如gbk页面编码 */
}
#imgBox img {
vertical-align:middle;
} |
该方法针对IE6/IE7,调整字体大小即可实现居中,虽然方式比较奇怪,但效果却是非常给力。FF等标准浏览器同样显示完美。
至于如何实现图片等比例缩放,以达到图中效果,需要参考《可以等比例实现缩略图的JS代码》一文。
梦想时光网络,专注web前端设计,企业建站更专业。
2012/03/26, 17:00 - Post by tonee
目前仍有很多建站公司仍旧采用Asp+Access制作中小规模的企业网站,或者高级一些的使用Asp.net+Access来制作。但数据库的安全问题成了最大隐患,如果数据库文件被下载的话,这个网站基本上就是完全裸露在众人面前。就算将Access文件加密也不能阻挡人类进步的步伐,因为Access的加密破解很不成问题。
企业建站一般都是租用虚拟主机来存放网站,性能高而又价格便宜,如此的性价比被大多数建站公司所采用。用ftp登录虚拟主机的话,一般会发现下面有那么几个文件夹。www(或者htdoc),database,logfile等。www用来存放网站程序,因为该文件夹默认绑定域名。换句话说,只有www文件夹内的文件才能被访问到。database用来存放数据库文件,一般很少会把Access文件专门放到这个下面。logfile用来存放虚拟主机的日志文件。
也许看到这里有很多同学就明白了,只要将Access文件存放到database下面,数据库文件就不能被下载,因为域名只绑定了www文件夹。那么,如何使程序能够访问到网站根目录以外的数据库文件呢?那就要用到《Asp.net关于Server.MapPath()获取路径的用法》这篇文章里的技术了,对,就是用Server.MapPath()。
C#语句如下:
1
2
3
4
| // 数据库文件相对路径
string DBFile = "~/../database/#sitedb.mdb";
// 获取数据库文件物理路径
string DBPath = System.Web.HttpContext.Current.Server.MapPath(DBFile); |
接下来就用OleDbConnection打开组合好的Oledb连接语句就可以成功的访问数据库文件了。
mdb文件命名时加入’#'字符,由于url链接的特殊性,也能做到防止被下载,但不要只选择重命名的方式。
梦想时光网络采用Asp.net+Access技术建站的同时,也会注意和防范网络的安全性问题。梦想时光网络,专注互联网建设!
2012/03/26, 16:30 - Post by tonee
有很多时候,要根据页面来获取某些文件的物理路径或者虚拟路径,我们就要用到Server.MapPath()。但Server.MapPath()的用法也比较多,稍有不慎就有可能用错,因此专门跑程序亲测后做出如下总结:
假设当前页面路径为c:\inetpub\wwwroot\test\admin\index.aspx,空间根目录为c:\inetpub\wwwroot\,网站根目录为c:\inetpub\wwwroot\test\。
1. Server.MapPath(“/”)
显示为:c:\inetpub\wwwroot\
2. Server.MapPath(“.”)
显示为:c:\inetpub\wwwroot\test\admin
3. Server.MapPath(“”)
显示为:c:\inetpub\wwwroot\test\admin
4. Server.MapPath(“..”)
显示为:c:\inetpub\wwwroot\test
5. Server.MapPath(“../”)
显示为:c:\inetpub\wwwroot\test\,注意路径的最后有个\,这一点与第4种用法仅有的不同!
6. Server.MapPath(“~”)
显示为:c:\inetpub\wwwroot\test,“~”指网站根目录。
7. Server.MapPath(“~/../”)
显示为:c:\inetpub\wwwroot,“~/../”指网站根目录的上一目录。
8. Server.MapPath(“~/admin/index.aspx”)
显示为:c:\inetpub\wwwroot\test\admin\index.aspx
9. Server.MapPath(“~”)+”\\admin\\index.aspx”
显示为:c:\inetpub\wwwroot\test\admin\index.aspx,后面的为常量字符串,需要用转义字符”\\”来取得字符”\”。
总结至此,希望对大家有所帮助。
2012/03/03, 04:23 - Post by tonee
定义和用法
标签用于对表格中的列进行组合,以便对其进行格式化。
如需对全部列应用样式,
标签很有用,这样就不需要对各个单元和各行重复应用样式了。
标签只能在 table 元素中使用。
实例
两个colgroup 元素为表格中的三列规定了不同的对齐方式和样式(注意第一个colgroup 元素横跨两列):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| <table width="100%" border="1">
<colgroup span="2" align="left"></colgroup>
<colgroup align="right" style="color:#0000FF;"></colgroup>
<tr>
<th>ISBN</th>
<th>Title</th>
<th>Price</th>
</tr>
<tr>
<td>3476896</td>
<td>My first HTML</td>
<td>$53</td>
</tr>
</table> |
2012/02/26, 15:34 - Post by tonee
打造相册封面缩略图,利用css中的一个滤镜功能clip截剪工具来实现,一行代码很简单,本质就是图片的遮罩效果。
1
| <img src="1.jpg" style="clip:rect(10px 100px 90px 20px);position: absolute;width: 100px;" /> |
个人理解其实现过程为:页面加载图片时,先等比例缩放,然后进行剪裁。
语法:
clip : auto | rect ( number number number number )
取值:
auto : 默认值。对象无剪切 。
rect ( number number number number ) : 依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用 auto 替换,即此边不剪切 。
说明:
检索或设置对象的可视区域。可视区域外的部分是透明的。
此属性定义了绝对(absolute)定位对象可视区域的尺寸。必须将 position 属性的值设为 absolute ,此属性方可使用。
2012/02/24, 00:16 - Post by tonee
FCKeditor,一款国外开发功能强大非常好用且免费的在线编辑器,做开发涉及到在线编辑的大都知道它。我用VS2003开发网站有几年了,还一直在用这个版本,因为发现了一点小问题,又找到源码重新修改编译了一下,放出来分享给有需要的各位。
FredCK.FCKeditorV2.dll,在2.6.4版本基础上做修改,而编辑器的相关文件都是2.6.5版本的,尽可放心使用。
1、修改文件上传重命名
FCKeditor的文件上传默认是保持本地原来的文件名;若存在同名文件,则自动在其文件名后加 (n) 来区分。为了上传文件的命名规整统一,一般都采用按照日期时间来重命名。
修改源代码的FileBrowser/FileWorkerBase.cs文件,将
1
| string sFilePath = System.IO.Path.Combine( sServerDir, sFileName ); |
该行代码替换如下:
1
2
3
| Random rd = new Random();
sFileName = DateTime.Now.ToString("yyMMddHHmmss") + rd.Next(100,1000) + System.IO.Path.GetExtension(sFileName);
string sFilePath = System.IO.Path.Combine( sServerDir, sFileName ); |
2、解决图片上传过程中进度条卡住不动的问题
该问题因一客户的反映最近才发现,但之前n多客户使用都很正常,也有可能是虚拟空间的服务器配置和文件夹权限问题。但该客户的站点,在重新设置了权限后仍未解决,网上搜索后解决如下:
仍旧修改源代码的FileBrowser/FileWorkerBase.cs文件,找到
1
| Response.Write( @"(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();" ); |
将其中的try{document.domain=d;} catch(e){break;} 删掉就可以了。有人说,FF是没问题的,这句话可能导致IE异常。总之,删掉就解决了。
FCKeditor_2.6.5.zip (文件大小:446.7 KB,下载次数:31 次)
压缩包内含有使用说明文档,有需要FCKeditor.Net_2.6.4源码的可以与我联系。