您的位置:首页 > 运维架构 > 网站架构

网站制作经验总结![比较经典]

2008-05-11 10:58 274 查看
1 顶部图片下方有空隙产生解决的办法: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1) 设置img 为 style="display:block" ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2)设置vertical-align属性为vertical-align:top | bottom |middle |text-bottom ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2 弹出窗口时传参绑定问题,写时有时浏览器不能解析。正确写法 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
----------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<a href='#' onclick=javascript:window.showModelessDialog('listphoto.aspx?id=<%#Getstr(Eval("picpath").ToString())%>','','dialogWidth=800') ><a href='#' onclick=javascript:window.showModelessDialog('listphoto.aspx?id=<%#Getstr(Eval("picpath").ToString())%>','','dialogWidth=800') >

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
3 css 中可能使有javascript 代码. ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
如: Css 的expressin 可以用js 代码 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


a




{...}{


target:expression(this.target="_blank");


}

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
4 在aspx 中,页名命名不能和函数名一样 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
如,test.aspx,在test.aspx.cs,中,函数名不能命名为test() ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
5 在.net2.0中,滚动条样式不能应用解决的办法 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1)删除应用样式前台代码中的此行代码 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&;quot;><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&;quot;>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2)滚动条样式的应式一般都写在body中。如: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


body




{...}{


SCROLLBAR-FACE-COLOR: #799ae1;


SCROLLBAR-HIGHLIGHT-COLOR: #799ae1;


SCROLLBAR-SHADOW-COLOR: #799ae1;


SCROLLBAR-3DLIGHT-COLOR: #799ae1;


SCROLLBAR-ARROW-COLOR: #ffffff;


SCROLLBAR-TRACK-COLOR: #aabfec;


SCROLLBAR-DARKSHADOW-COLOR: #799ae1;


}

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
把上面的body 改为html 就可应用上滚动条样式 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
6 表格自动换行,不会被撑大 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
---------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


style="table-layout: fixed; word-break: break-all; "style="table-layout: fixed; word-break: break-all; "

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
7如何让某一标签应用两个 CSS样式 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
---------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<p class="text side">...</p><p class="text side">...</p>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
8 应用样式时的优先级 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
---------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
如: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå




td{...}{ height:19px!important;height:18px}

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
!important它指定当前样式的优先级为高,后边再进行定义的相同样式是不会将其重置。因此按标准的CSS来说,height:18px这一句是无效的,因为前边的定义具有更高的优先级。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
但是IE不支持该属性,而Firefox却支持。。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
因此在Firefox中认的是height:19px,而IE则会先被设置为height:19,然后再设置为height:18px,这种现象可以加以利用实现IE和Firefox的布局兼容 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
9 使用.net 2.0换肤 用法总结 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
换肤,在朋友的提醒下,用cookies。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
便想到了用javascript 和cookies 一起来使用,但是javascript 不是太好用。后来就放弃了。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
.net 2.0集成有skin 外观文件。可以用skin 和cookies 一起使用来实现这一效果. ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
方法: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1:)定义外观文件blue 和orage 两个,自动放在App_Themes 文件夹下. ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2:)在blue和orange 文件夹下,可以建css文件和.skin文件. ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
3:)在page_PreInit()根据传参的不同,更改言主题;具体代码如下: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


protected void Page_PreInit(object sender, System.EventArgs e)




...{


string str = "";


if (HttpContext.Current.Request.Cookies["theme"] != null)




...{


str = Convert.ToString(HttpContext.Current.Request.Cookies["theme"]);


}


if (!string.IsNullOrEmpty(Request.QueryString["theme"]))




...{


Page.Theme = Request.QueryString["theme"];


HttpCookie skin = new HttpCookie("theme");


skin.Value = Page.Theme;


Response.Cookies.Add(skin);


}


else if (str.ToString() == "")




...{


Page.Theme = "blue";


}


else




...{


Page.Theme = Request.Cookies["theme"].Value.ToString();


}


}

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
代码这样写就实现了换肤的功能,但是你关闭该页面,再次打开时还是原来的,不是你更改过的,这是为什么呢? ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
找了好长时间才知道原来是cookies 没有设有效日期。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
在建立cookies时加一句 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


skin.Expires=convert.ToDateTime(DateTime.Now+TimeSpan.FromDays(1));

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
这样可以设cookies的有效时间为1天 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
通过这次学习学会了 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1 使用cookies ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2 skin ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
3 不旦 在Dream 下可以创建下拉菜单 ,在FireWorks 也可以实现。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
10.javascript特殊字符 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
-------------------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<body>




</body>




<script>...


data=function()




...{/**//*测试数据放在这儿了随便放什么数据“'”或“"”这些特殊字符都可以*/}


alert((data+"").slice(13,-4))


</script><body>




</body>




<script>...


data=function()




...{/**//*测试数据放在这儿了随便放什么数据“'”或“"”这些特殊字符都可以*/}


alert((data+"").slice(13,-4))


</script>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
11.RSS实现方法。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
----------------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1:动态生成一个xml 文件 方法如下 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
1) 新建一下Rss.aspx 页,前台把html标签删除。 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
在Rss.aspx.cs页中Page_Load()中, ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


Response.ContentType="text/xml";


Response.Write(GetRss());

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
2)在GetRss()函数中生成一个Xml格式的文件 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


newsdb db = new newsdb();


string sqlstr = "select * from Content";


DataSet ds = db.GetDatasetbysqlstr(sqlstr);


StringBuilder strCode = new StringBuilder();


strCode.Append("<?xml version=/"1.0/" encoding=/"utf-8/" ?>");


strCode.Append(@"<rss verson='2.0'>");


strCode.Append("<channel>");


strCode.Append("<title>新闻显示</title>");


strCode.Append(@"<link>http://"+Request.ServerVariables["SERVER_NAME"]+"</link> ");




strCode.Append("<copyright>Copyright 2005</copyright> ");


foreach (DataRow dt in ds.Tables[0].Rows)




...{


string ID = dt["NewsID"].ToString();


string title = dt["Title"].ToString();


strCode.Append("<item>");


strCode.Append("<title>" + title + "</title>");


strCode.Append(@"<link>http://" + Request.ServerVariables["SERVER_NAME"] + "/admin/Admin_show.aspx?ID=" + ID + "</link>");


strCode.Append("</item>");




}




strCode.Append("</channel>");


strCode.Append("</rss>");


return strCode.ToString();

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
12. .net 2.0中url映射方法 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
---------------------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
直接在webconfig中配 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
在 <System.Web>下 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<UrlMappings enabled="true">


<add url="~/defalut" mappedUrl="default.aspx"><UrlMappings enabled="true">


<add url="~/defalut" mappedUrl="default.aspx">

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
这样在引用页时直接用default就行了 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
如 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<a href="default">首页</a>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
此中方法可以隐藏扩展名 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
13 .net 连结SQL2005,可以任意换到其它电脑而不用附加数据库 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
在写连接字符串时在web.config中配置如下: ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<add name="Constr" connectionString="Data source=.;AttachDbFilename=|DataDirectory|/test.mdf";integrated secuity=true;"


providerName="System.Data.SqlClient"/><add name="Constr" connectionString="Data source=.;AttachDbFilename=|DataDirectory|/test.mdf";integrated secuity=true;"


providerName="System.Data.SqlClient"/>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
但是数据库要放在app_data下 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
14.在数据绑定时如果是bool型的,用eval绑定时并不想让显示ture ,或false ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
--------------------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<ItemTemplate>


<asp:Label ID="flagLabel" runat="server" Text='<%#Convert.ToInt32(Eval("flag"))==0 ? "<span style=color:red>未回答</span>":"<span class=finish></span>" %>'>'></asp:Label>


</ItemTemplate><ItemTemplate>


<asp:Label ID="flagLabel" runat="server" Text='<%#Convert.ToInt32(Eval("flag"))==0 ? "<span style=color:red>未回答</span>":"<span class=finish></span>" %>'>'></asp:Label>


</ItemTemplate>

®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
15 使用showModelessDialog时,如果不想在对话框中弹出新窗口,解决办法 ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå
---------------------------------------------------------------------- ®¨§&dotcۆ+bbs.szblogs.coml¾½êoËÏå


<a href="#" onclick=javascript:window.showModelessDialog('answerquestion.aspx?id=<%#Eval("id")%>','','dialogWidth=800') >回答</a>


在answerquestion.aspx页中的<head>与</head>之间加上这行代码


<base target="_self">
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: