学习.net的一些总结

 
以下是我学网站以来的错误总结,写出来与大家分享一下。希望大家能有好的办法给予指导 .
顶部图片下方有空隙产生解决的办法 :
---------------------------------------------------------
1)
设置 img style="display:block"
2)
设置 vertical-align 属性为 vertical-align:top | bottom |middle |text-bottom
2 弹出窗口时传参绑定问题 , 写时有时浏览器不能解析。正确写法
-----------------------------------------------------------
  <a href='#' οnclick=javascript:window.showModelessDialog('listphoto.aspx?id=<%#Getstr(Eval("picpath").ToString())%>','','dialogWidth=800') >
3 css 中可能使有 javascript 代码 .
 ---------------------------------------------------------
如: Css expressin 可以用 js 代码
  a
 {
 target:expression(this.target="_blank");
 }
4 aspx 中,页名命名不能和函数名一样
---------------------------------------------------------
 
如, test.aspx, test.aspx.cs ,中,函数名不能命名为 test()
5 .net2.0 中,滚动条样式不能应用解决的办法
---------------------------------------------------------
1)
删除应用样式前台代码中的此行代码
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2)
滚动条样式的应式一般都写在 body 中。如:
 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;
  }
把上面的 body 改为 html 就可应用上滚动条样式
6 表格自动换行,不会被撑大
----------------------------------------------------------
  style="table-layout: fixed; word-break: break-all; "
7 如何让某一标签应用两个 CSS 样式
----------------------------------------------------------
<p class="text side">...</p>
同时给 P 元素两个类,中间用空格格开,这样所有 text side 两个类的属性都会加到 P 元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在 CSS 文件中放在后面的类的属性起作用。
8 应用样式时的优先级
----------------------------------------------------------
: td{ height:19px!important;height:18px}
!important
它指定当前样式的优先级为高,后边再进行定义的相同样式是不会将其重置。因此按标准的 CSS 来说, height:18px 这一句是无效的,因为前边的定义具有更高的优先级。
但是 IE 不支持该属性,而 Firefox 却支持。。
因此在 Firefox 中认的是 height:19px, IE 则会先被设置为 height:19, 然后再设置为 height:18px ,这种现象可以加以利用实现 IE Firefox 的布局兼容
9 使用 .net 2.0 换肤 用法总结
---------------------------------------------------------
换肤,在朋友的提醒下,用 cookies
便想到了用 javascript cookies 一起来使用,但是 javascript 不是太好用。后来就放弃了。
.net 2.0
集成有 skin 外观文件。可以用 skin cookies 一起使用来实现这一效果 .
方法 :
1:)
定义外观文件 blue orage 两个,自动放在 App_Themes 文件夹下 .
2:)
blue orange 文件夹下,可以建 css 文件和 .skin 文件 .
3:)
page_PreInit() 根据传参的不同,更改言主题 ; 具体代码如下 :
 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();
  }
 }
代码这样写就实现了换肤的功能,但是你关闭该页面,再次打开时还是原来的,不是你更改过的,这是为什么呢?
找了好长时间才知道原来是 cookies 没有设有效日期。
在建立 cookies 时加一句
skin.Expires=convert.ToDateTime(DateTime.Now+TimeSpan.FromDays(1));
这样可以设 cookies 的有效时间为 1
通过这次学习学会了
1
使用 cookies
2 skin
3
不旦 Dream 下可以创建下拉菜单 , FireWorks 也可以实现。
10.javascript
特殊字符
--------------------------------------------------------------------
<body>
</body>
<script>
data=function()
{/*
测试数据放在这儿了随便放什么数据 “'” “"” 这些特殊字符都可以 */}
alert((data+"").slice(13,-4))
</script>
11.RSS
实现方法。
-----------------------------------------------------------------
1:
动态生成一个 xml 文件 方法如下
1)
新建一下 Rss.aspx 页,前台把 html 标签删除。
Rss.aspx.cs 页中 Page_Load() 中,
Response.ContentType="text/xml";
Response.Write(GetRss());
2)
GetRss() 函数中生成一个 Xml 格式的文件
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();
 12. .net 2.0
url 映射方法
----------------------------------------------------------------------
直接在 webconfig 中配
<System.Web>
<UrlMappings enabled="true">
<add url="~/defalut" mappedUrl="default.aspx">
这样在引用页时直接用 default 就行了
:<a href="default"> 首页 </a>  
此中方法可以隐藏扩展名

13 .net
连结 SQL2005 ,可以任意换到其它电脑而不用附加数据库
-------------------------------------------------------
在写连接字符串时在 web.config 中配置如下:
<add name="Constr" connectionString="Data source=.;AttachDbFilename=|DataDirectory|/test.mdf";integrated secuity=true;"
providerName="System.Data.SqlClient"/>
但是数据库要放在 app_data
14. 在数据绑定时如果是 bool 型的,用 eval 绑定时并不想让显示 ture , false
---------------------------------------------------------------------
<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>
 15
使用 showModelessDialog 时,如果不想在对话框中弹出新窗口,解决办法
----------------------------------------------------------------------
<a href="#" οnclick=javascript:window.showModelessDialog('answerquestion.aspx?id=<%#Eval("id")%>','','dialogWidth=800') >
回答 </a>
answerquestion.aspx 页中的 <head> </head> 之间加上这行代码
<base target="_self"> 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值