Asp.net 总结

来源:互联网 发布:利用淘宝漏洞赚钱技巧 编辑:程序博客网 时间:2024/05/09 18:12
1  顶部图片下方有空隙产生解决的办法:
---------------------------------------------------------
1) 设置img 为 style="display:block"
2)设置vertical-align属性为vertical-align:top | bottom |middle |text-bottom

2 弹出窗口时传参绑定问题,写时有时浏览器不能解析。正确写法
-----------------------------------------------------------
  <a href='#' onclick=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="#" onclick=javascript:window.showModelessDialog('answerquestion.aspx?id=<%#Eval("id")%>','','dialogWidth=800') >回答</a>
在answerquestion.aspx页中的<head>与</head>之间加上这行代码
<base target="_self">

来自:http://www.cnblogs.com/lagger/archive/2007/08/09/849317.html 

原创粉丝点击