制作页面时,页面左右布局时,而右侧宽度是自适应宽度时,在右侧DIV里插入宽度100%的表格时,在IE6下就是超出宽度,而其它IE7,8,FF都正常显示,这种情况用height:1%;方法就能解决了,简单实用。


演示如:只要把height:1%;加到你的TAB外层DIV的样试里就行了

.content{height:1%;}


<div class="content">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

 

 

制作页面时,页面左右布局时,而右侧宽度是自适应宽度时,在右侧DIV里插入宽度100%的表格时,在IE6下就是超出宽度,而其它IE7,8,FF都正常显示,这种情况用height:1%;方法就能解决了,简单实用。


演示如:只要把height:1%;加到你的TAB外层DIV的样试里就行了。

.content{height:1%;}


<div class="content">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table>

posted @ 2010-11-09 10:47 沉默杨仔 阅读(522) 评论(3) 编辑

委托对我来说一直是似懂非懂.过不久又得翻书重新理解.现将自己的理解以白话文的方式记录下来.

好文地址:http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html

 1.声明委托.

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

  理解委托的一种好方式是把委托当作给方法签名和返回类型指定名称,其语法的定义类似于方法的定义,但没有方法体,而且方法与委托的签名必须匹配

  定义

  [访问修改符] delegate [返回类型] deleteagemethod(参数).如

   public delegate void invoke(int parameter)

  使用:

   因为在static main()方法中.所以方法声明为静态

//委托方法
        public static void add(int x)
        {
            x=x+x;
            Console.WriteLine("自加为" + x);
        }
        //委托方法
        public static void multi(int y)
        {
            y = y * y;
            Console.WriteLine("自乘为" + y);
        }
/*委托测试*/
        invoke voke = new invoke(multi);
        //委拖推断写法,为了减少输入量,只需要委托实例,就可以只传送地址的名字,这称为委托推断,只要编译器可以把委托安便解析为特定的类型,这个c#特性就是有效的.如
       //invoke voke=multi;
        voke(4);
 

posted @ 2010-10-26 16:59 沉默杨仔 阅读(57) 评论(0) 编辑

1.对象方法参数传递

  参数可以通过引用或值传递给方法,在变量通过引用传递给方法时,被调用的方法将得的就是这个变量,所以在方法内部对变量进行的任何改变在方法退出后仍旧发挥作用.而如果变量是通过值传递给方法的,被调用的方法得到的是变量的一个副 本,也就是说大方法退出后,.对一次量进行的修改会丢失.注意字符串是不同的.因为字符串是值不能改变的.在方法调用中,对字符串所做的任何改变都不会影响原来的字符串.

  public void action(int i,intp[] list)

  {...}

  在方法内部对i进行的修改不会影响到外部变量,对list所做的更改会影响到外部变量

  通过值传送变量是默认的.也可以迫使参数通过引用传递给该方法,为此.要使用ref关键词

2.构造函数

   系统默认的构造函数只能把成员字段初始化为标准的默认值(如果字段在类内部已初始化,则不重新初始化),如:引用类型为空引用(=null),数值类型为0,bool型为false.

3.只读字段

  常量的概念就是包含一个不能修改的值的变量,但是,常量不必满足所有的要求,有时可能需要一些变量,其值不能改变,但在运行之前其值是未知的.c#可用只读字段(readonly)解决.

4.继承与重写

  把一个基类函数声明为virtual,同样适用于属性,该函数就可以在派生类中重写了.

  class MybaseClass

  {

       public virtual string VirtualMethod()

       {

                 return "this method is virtual and defined in mybaseclass"

        }

  }

继承

   class myDrivedClass:MybaseClass

   {

     public override string VirtualMethod()

     {

         return "..."

     }

   }

   如果签名方法在基类或派生类中都进行了声明.但该方法没有声明virtual和override,派生类就会隐藏基类方法(书96页),可用new关键词隐藏基类方法.如:

class MybaseClass

  {

       public  string VirtualMethod()

       {

                 return "this method is virtual and defined in mybaseclass"

        }

  }

  继承

class myDrivedClass:MybaseClass

   {

     public new string VirtualMethod()

     {

         //在继承方法中可用base关键字调用基类方法.如:

         // return base.virtualmethod()+"ok";

         return "..."

     }

   }

5.派生类构造函数(第100页)

  不论类继承多少次,构造函数的调用顺序是先调用system.obejct.再按照层次结构自上向下进行.直到到达编译器要实例化的类为止,还要注意在这个过程中,每个构造函数都初化始它自己类中的字段,这是它的一般工作方式.也就是说基类的构造函数总是最先调用,派生类的构造函数可以在执行过程中调用它可以访问的基类方法.
   在编译器试图为派生类创建构造函数时,默认两个类的构造函数必须具有相同的签名.

如果签名不同,则需用base关键字指定执行的构造函数

6.接口

   接口不能有构造函数或字段,接口定义也不允许包含运算符重载,在接口定义中还不允许有声明成员上的修饰符,接口成员总是公共的,不能声明为虚方法或静态方法

posted @ 2010-10-25 14:36 沉默杨仔 阅读(131) 评论(0) 编辑

左右两列布局。右侧自适应.当右侧插入table,设置width:100%时。在ie6下会撐开表格,代码:

<style type="text/css">
        body{margin:0;padding:0}
        #left{width:150px;float:left;background:#ff0000;height:200px;}
        #right{margin-left:160px;background:blue}
        table{width:100%;}
    </style>

 

<body>
    <div id="left">这是左边</div>
    <div id="right">
        <table cellpadding="0" cellspacing="0">
            <tr>
                <td>a</td>
                <td> d</td>
            </tr>
        </table>
    </div>
</body>

 

解决方法

左侧采用绝对定位:position:absolute;然后设置left.top.bottom.right值

posted @ 2010-06-15 15:53 沉默杨仔 阅读(126) 评论(0) 编辑

提取自discuz并做了一些小修改.

$(document).ready(function setscreendiv() {
    var clientHeight = 768;
    var clientWidth=600;
    var iframe = document.getElementById("main");
    if (navigator.userAgent.toLowerCase().indexOf('opera') != -1) {
        clientHeight = document.documentElement.clientHeight + 190;
        clientWidth = document.documentElement.clientWidth - 180;
    }
    else {
        clientHeight = document.documentElement.clientHeight - 55;
        clientWidth=document.documentElement.clientWidth-180;
    }
    iframe.style.height = clientHeight + 'px';
    iframe.style.width=clientWidth+'px';
    document.documentElement.style.overflow = "hidden";
    window.onresize = function () { setscreendiv(); }
    window.onscroll = function () { setscreendiv(); }
}
)

ps:框架实在难以驾驭,目前项目后台已不采用框架方式。

posted @ 2010-06-15 09:20 沉默杨仔 阅读(162) 评论(0) 编辑

 准确的说,我不知道这是不是算vs2010一个bug,因为我对.net的运行机制也没啥太多的研究,基本上全靠自学,这个问题困扰了我两天,所有的方法都试遍了,还找了园子里面几个朋友帮忙,描述如下:

aspx页面继承adminpage.

代码
public partial class post_categories :AdminPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
rptList.DataSource
= Post.Getcategories(0);
rptList.DataBind();
}
}
}

 

 

 

adminpage页面

代码
public class AdminPage:System.Web.UI.Page
{
protected override void OnInit(EventArgs e)
{
if (!StatusObject.CheckCookie("user"))
{
WebHint.PageError(
"非法访问,你还没有登录" "../admin_login.aspx");

}
base.OnInit(e);
}
}

 

 

 

原意就是在adminpage类中判断cookie是否存在。不存在则返回到登录页面,就是这段代码导致了aspx页面所有的web控件全部无法显示。全部提示:

error creating error-控件id
Object reference set to an instance of an object

最终在msdn找到了答案,将判断cookie的这段代码先行注释了,恢复了正常,描述如下:

We are seeing this error because at the design time, some objects such as Session, are not available, or being null. However, the project still runs perfectly at runtime.

To workaround the issue, you can add code to check for the existence of the Session object as shown below, then the design view will render correctly.
We are considering adding a fix for this issue during the VS 2010 SP1 timeframe.
详见:http://blogs.msdn.com/webdevtools/archive/2010/04/15/rendering-issue-in-visual-studio-2010-when-accessing-the-session-state-in-the-oninit-method.aspx


  困扰了两天的问题解决,心里面真是一块石头落地,文章很初级,如果管理员觉得不合适,可以撤下首页。
  顺祝:“五一节快乐”

posted @ 2010-04-30 17:13 沉默杨仔 阅读(2144) 评论(9) 编辑
摘要: $('prev+next') 同$('prev').next('next')解释:prev与next元素为同级元素(否则无效)。匹配prev元素之后的所有next元素。next必须紧挨着prev元素(否则无法选择)$('prev~siblings')同$('prev').nextall('siblings')解释:prev与next元素为同级元素(否则无效).区配prev元素之后的所有siblin...阅读全文
posted @ 2010-01-02 23:40 沉默杨仔 阅读(332) 评论(0) 编辑
摘要: 现在分页方法大多集中在select top/not in/游标/row_number,而select top分页(在这基础上还有二分法)方法似乎更受大家欢迎,这篇文章并不打算去讨论是否通用的问题,本着实用的原则,花了一些时间去测试row_number()分页的性能,感觉并不像一部分人所说的那么鸡肋,测试如下....阅读全文
posted @ 2009-12-26 15:45 沉默杨仔 阅读(2233) 评论(9) 编辑
摘要: <ul><li>cc</li><li>dd</li></ul>设置li左浮动。在IE6下会多出一部分,原因:ie6 里导航列表左边多出一点间距是ie6的双倍间距bug,需要设置li的display:inline2.ul高度自适应在ul中设置li浮动后。ul高度无法自适应。设置ul属性overflow:hidden或overfl...阅读全文
posted @ 2009-12-03 12:46 沉默杨仔 阅读(217) 评论(1) 编辑
摘要: 在FckEditor.Net 2.64和asp.net 2.0的环境下发现如下问题:如果浏览器执行返回动作,FckEditor编辑框内显示html代码 解决方法是:修改文件FCKEditor\editor\fckeditor.html,在window.onload = function()的函数第一行添加 FCK.LinkedField.value=FCKTools.HTMLDecode(FCK....阅读全文
posted @ 2009-11-19 12:09 沉默杨仔 阅读(253) 评论(0) 编辑