url重定向

前两天一直忙着大学的最好的考试,现在好 了,学生时代基本上结束了,暂时可以一心的做开发,写写代码,在考试的这两天中,我只是看了下url重定向,并且稍微的写了点,基本上是可以满足项目 url rewrite的需求了,其实说真的,我在项目中想采用url rewrite,一是为了让url不显示显示很多的参数,给别人注入带来一定的方便;二是为了体验下这个技术,自己一直想写点这个的,因为暑假没有成功; 三是感觉上是静态网页,有成就感。现在稍微的介绍下结合网上的一般重归思路写出来的结果:
使用Intelligencia.UrlRewriter.dll来实现
在web.config中配置:
(1)在<configSections></configSections>节中加上<section name=”rewriter” requirePermission=”false” type=”Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter” />;
(2)在<httpModules></httpModules>节中加上<add name=”UrlRewriter” type=”Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter”/>;
(3)在<configuration></configuration>节中添 加<rewriter>    <rewrite url=”~/(.+).html$” to=”~/ViewNews.aspx?ID=$1″ />  </rewriter>   <–重定性规则,按照自己的需求来写,这里对正则表达式基础有点要求–>
测试下,1232.html,是不是出现和id=1232一样的效果。
但是如果你点击该页面的服务器端事件是,url又会变成viewnews.aspx?id=`1232了,这个问题的解决方案网上有两种,一种是重 新form,另一种是重新page,我考虑到保持aspx页面的完整性,采用了重新page的方法来解决,就是一个类文件,在网上下载的叫做 URL.page的,有需要的朋友可以到网上去找下。

动态更好网站背景图片、背景颜色,js调色板

今天考虑到管理员通过后台调整网站网址背景图片和背景颜色的问题,小小的下了下该功能模块,并实现了。
我的思路:管理员可以通过后台添加网站背景图片或者颜色,然后读入数据库中,管理员然后可以从数据库中选择一套模式进行发布出来,显示在前台。把管 理员选择的一套模式相关读入application里面,然后相关页面直接可以通过application里面取得数据库,显示相关页面,从而避免重复读 取数据库,影像网站效率。这其中涉及到两条语句(核心功能实现,我查msdn找到):
body_a.Style.Add(HtmlTextWriterStyle.BackgroundColor, “#123456”);//添加或者改变背景色
body_a.Style.Add(HtmlTextWriterStyle.BackgroundImage, “./img/2.jpg”);//添加或者改变背景图片
我这里添加body的id为body_a,并runat=“server”,这里没用从application里面取数据,直接写入字符串。
调色板:主要是在网上找的,自己稍微加工了下,代码大概公布如下:
js代码:

var ColorHex = new Array('00', '33', '66', '99', 'CC', 'FF')
var SpColorHex = new Array('FF0000', '00FF00', '0000FF', 'FFFF00', '00FFFF', 'FF00FF')
var current = null
function getEvent() {
if (document.all) {
return window.event; //如果是ie
}
func = getEvent.caller;
while (func != null) {
var arg0 = func.arguments[0];
if (arg0) {
if ((arg0.constructor == Event || arg0.constructor == MouseEvent) ||  (typeof (arg0) == "object" && arg0.preventDefault &&  arg0.stopPropagation)) {
return arg0;
}
}
func = func.caller;
}
return null;
}
function intocolor() {
document.getElementById("colorpanel").style.display = "";//show 调色板
var colorTable = ''
for (i = 0; i < 2; i++) {
for (j = 0; j < 6; j++) {
colorTable = colorTable + '<tr height=12>'
colorTable = colorTable + '<td width=11 style="background-color:#000000">'
if (i == 0) {
colorTable = colorTable +  '<td width=11 style="background-color:#' + ColorHex[j] + ColorHex[j]  + ColorHex[j] + '">'
}
else {
colorTable = colorTable + '<td width=11 style="background-color:#' + SpColorHex[j] + '">'
}
colorTable = colorTable + '<td width=11 style="background-color:#000000">'
for (k = 0; k < 3; k++) {
for (l = 0; l < 6; l++) {
colorTable = colorTable + '<td width=11 style="background-color:#' +  ColorHex[k + i * 3] + ColorHex[l] + ColorHex[j] + '">'
}
}
}
}
colorTable = '<table width=253 border="0" cellspacing="0"  cellpadding="0" style="border:1px #000000  solid;border-bottom:none;border-collapse: collapse"  bordercolor="000000">'
+ '<tr height=30><td colspan=21 bgcolor=#cccccc>'
+ '<table cellpadding="0" cellspacing="1" border="0" style="border-collapse: collapse">'
+ '<tr><td width="3"><td><input type="text"  name="DisColor" id="DisColor" size="6" disabled style="border:solid 1px  #000000;background-color:#ffff00"></td>'
+  '<td width="3"><td><input type="text" name="HexColor"  id="HexColor" size="7" style="border:inset 1px;font-family:Arial;"  value="#000000"></td></tr></table></td></table>'
+ '<table border="1" cellspacing="0" cellpadding="0"  style="border-collapse: collapse" bordercolor="000000"  onmouseover="doOver()" onmouseout="doOut()" onclick="doclick()"  style="cursor:hand;">'
+ colorTable + '</table>';
colorpanel.innerHTML = colorTable
}
function doOver() {
var evt = getEvent();
var element = evt.srcElement || evt.target;
var DisColor = document.getElementById("DisColor");
var HexColor = document.getElementById("HexColor");
if ((element.tagName == "TD") && (current != element)) {
if (current != null) { current.style.backgroundColor = current._background }
element._background = element.style.backgroundColor
DisColor.style.backgroundColor = rgbToHex(element.style.backgroundColor)
HexColor.value = rgbToHex(element.style.backgroundColor)
element.style.backgroundColor = "white"
current = element
}
}
/**
* firefox 的颜色是以(RGB())出现,进行转换
*/
function rgbToHex(aa) {
if (aa.indexOf("rgb") != -1) {
aa = aa.replace("rgb(", "")
aa = aa.replace(")", "")
aa = aa.split(",")
r = parseInt(aa[0]);
g = parseInt(aa[1]);
b = parseInt(aa[2]);
r = r.toString(16);
if (r.length == 1) { r = '0' + r; }
g = g.toString(16);
if (g.length == 1) { g = '0' + g; }
b = b.toString(16);
if (b.length == 1) { b = '0' + b; }
return ("#" + r + g + b).toUpperCase();
}
else {
return aa;
}
}
function doOut() {
if (current != null) current.style.backgroundColor = current._background;
}
function doclick() {
var evt = getEvent();
var element = evt.srcElement || evt.target;
if (element.tagName == "TD") {
bg = rgbToHex(element._background);
// alert("选取颜色: " + bg);
// return bg;
document.getElementById("TextBox1").value = bg;
document.getElementById("colorpanel").style.display = "none"; //选好颜色后,关闭colorpanel
}
}

aspx代码:
<table >
<tr>
<td><asp:TextBox ID=”TextBox1″ runat=”server”></asp:TextBox></td>
<td><input id=”Button1″ type=”button” value=”选取颜色” onclick=”intocolor();” /></td>
</tr>
<tr>
<td><div id=”colorpanel” style=”position: absolute;”></div></td>
<td>&nbsp;</td>
</tr>
</table>
注:外套table是为了,显示的时候稍微美观点
声明:现在公布的代码都是本地测试代码,因为项目还没有正式开始写,外观和功能尚可能还有些bug,这些等待到正式项目中调试;大家如果使用这些代码出现问题,请耐心调试,我保证我都是调试正常并且基本上达到我的需求的代码才会放在日志上的。