一些工作总结

2012-08-09
1、针对table的CSS样式学习
     http://hi.baidu.com/baixueshisheme/item/ad3dd2cfb1bced2fe90f2eb5
    
     A:设置border="1"、bordercolor,再加上style="border-collapse:collapse;"。style里面的内容就是css。
          <table width="400" border="1" bordercolor="#000000" cellspacing="0"     cellpadding="0" style="border-collapse:collapse;"></table>
     B:这个用css来设置边框,结果只显示表格的最外层边线。里面的线不显示。
          <table width="400" cellspacing="0" cellpadding="0" style="border:#000000 1px solid;"></table>
     C: 如果你想要页面的所有表格都是细线表格,也不用一个一个去设置。因为这里是演示用,所以加上了id,你用的时候直接在head里面加上style标签,里面写
          <style type="text/css">
          table
          {
               border-collapse:collapse;
          }
          td
          {
               border:#000000 1px solid;
          }
          </style>
    
2、Analysis的深入分析实践
3、DataTable的学习

2012-08-10
1、远程登陆数据库的时候,当备份的时候是将备份文件保存到远程主机上的。

2012-08-24
1、主要包括将WinForm程序和MVC程序之间的转换,在两者之间都有相同的功能实现,但是具体方法可能会有所不同。
2、WebPart是通过构建一个Div,在其他需要的页面中将需要的Div填充到其中,也就可以实现页面的定制
3、如果实现页面的拖拽,可能需要通过js脚本来实现,需要看一下。
4、需要通过StringBulider的功能完成WebPart页面Html内容的填充。
5、最好是在WinForm中通过引用DLL的方式来使用MVC中的方法等,在MVC项目中使用WinForm是不太现实的。

2012-08-29
1、远程服务 ----- mstsc
2、IIS         ----- inetmgr
3、重启IIS  ----- iisreset
4、启动sqlserver ----net start mssqlsrver

2012-08-30
1、使用到了显示的不同而已

2012-08-31
1、该智能提示与VS内的一样,只需Ctrol + J 即可调出
2、Excel和Word的导入导出
3、memcached-1.4.14.tar
 
2012-09-06
    <script type="text/javascript">
        $(function () {
            $("input[type='radio']").eq(0).attr("checked", true);
            $("input[type='radio']").click(function () {
                switch ($("input[type='radio']:checked").val()) {
                    case "users":
                        $("#btn_add").html('<img alt="添加人员" src="<%: Url.Content("~/Content/Img/addone.gif") %>" />添加人员');
                        $("#btn_add").attr("onclick", "return SelectImportUser()");
                        $("#user").show();
                        $(".user").show();
                        $("#street").hide();
                        $("#company").hide();
                        break;
                    case "streets":
                        $("#btn_add").html('<img alt="添加社区" src="<%: Url.Content("~/Content/Img/addone.gif") %>" />添加社区');
                        $("#user").hide();
                        $("#street").show();
                        $("#company").hide();
                        break;
                    case "companies":
                        $("#btn_add").html('<img alt="添加企业" src="<%: Url.Content("~/Content/Img/addone.gif") %>" />添加企业');
                        $("#user").hide();
                        $("#street").hide();
                        $("#company").show();
                        break;
                }
            });
            var areaS = $("#Area :selected").html();
            $("#users").click(function () {
                $.getJSON('<%: Url.Action("GetUsers","Manage") %>',
                    {area: areaS},
                    function (result) {
                        $.each(result, function (i, field) {
                            $("#user").append(field + " ");
                    });
                });
            });
        });
    </script>

2012-09-06
1、如何通过选取的人员获取其所在的部门ID
2、在url上增加参数,使得默认为“企业”或“社区”
3、维护,包括增删改查
4、如何通过当前用户的信息判断index页面的下拉列表的默认值
5、在点击“企业”或“社区”时,在页面右侧能够显示出其中的人员名单,并能够进行编辑
6、在点击“人员”的时候右侧显示的是其基本信息。

2012-09-16
1、更新数据库中datetime类型字段的方法
     update [Retire] set [RetireTime] = dateadd(year,100,[RetireTime])

2012-11-14
C#
1、变量定义中含有一个问号,意思是这个数据类型是NullAble类型的。
2、变量定义中含有两个问号,意思是取所赋值??左边的,如果左边为null,取所赋值??右边的。
 
3、使用application来创建变量
        public static List<sys_Dic> SysDic
        {
            get { return HttpContext.Current.Application["MHFOOD_SYS_DIC"] as List<sys_Dic>; }
            set { HttpContext.Current.Application["MHFOOD_SYS_DIC"] = value; }
        }

        public static DateTime SysDicCacheTime;
        public static void CacheDic()
        {
            DateTime refreshTime = SysDicCacheTime.AddMinutes(int.Parse(GetConfig("DicCacheMinutes")));
            if (SysDic == null || (SysDicCacheTime != null && DateTime.Now.CompareTo(refreshTime) > 0))
            {
                using (FoodSafeEntities db = new FoodSafeEntities())
                {
                    SysDic = db.sys_Dic.ToList();
                    SysDicCacheTime = DateTime.Now;
                }
            }
        }
4、jQuery提供了一个内置的实用函数,$getScript()。动态加载JavaScript代码到您的网页是一个好主意,即只有当实用他们的时候加载它们。
<script type="text/javascript">
$(function()
{
 $('#loadButton').click(function(){
  $.getScript('new.js',function(){
   newFun('"Checking new script"');//这个函数是在new.js里面的,当点击click后运行这个函数  });
 });
});
</script>
new.js文件内容
var testVar = 'New JS loaded!';
alert(testVar);
function newFun(dynParam)
{
     alert('You just passed '+dynParam+ ' as parameter.');
}
 
5、让网站并行加载但顺序执行JS
位置:  积累\JS\head.min.js
 
2012-11-15
1、Cache的过期时间为 令牌过期时间 *2
HttpContext.Current.Cache.Insert(""new DataTable(), nullDateTime.MaxValue, TimeSpan.FromMinutes(double.Parse(System.Configuration.ConfigurationManager.AppSettings[""]) * 2));
2、JavaScript--在最合适的地方声明不同的变量
3、JavaScript--如果是多次使用的正则,应该用变量缓存起来.而且如果给它一个名称,别人还可以从变量名称上推断出这个复杂的正则到底是干什么用的。 :如果是多次使用的相同的正则字面量 ,用变量缓存起来就只会生成一个正则对象 ,这样可以减少内存占用
4、JavaScript--任何时候都应该使用严格相等
 
5、string[] arr = new string[0];
这样定义数组后,能够编译通过,但是不能操作数据,因为 arr[0] = "a"; 这样是使用也会报“超出数组范围”的错误。

6、JavaScript和jQuery工厂方法
工厂模式在JavaScript原生对象Object也有所体现,比如
     var obj = Object(),
     num = Object(1),
     str = Object('s'),
     boo = Object(false);
Object就是一个工厂,根据参数不同会构造出不同的对象。obj是一个空对象,num是一个Number类型的对象,str是一个String类型的对象,boo是Boolean类型的对象。
jQuery.Callbacks也是一个工厂,每次调用它都会返回一个具有add, remove, fire等方法的对象。还可以根据参数如“once”, “memory”等构造出具有不同性质的对象。
7、C#合并两个List<string>
     str1.AddRange(str2); // 使用AddRange合并两个List
     foreach (string s in str1.Distinct<string>()) //使用Distinct去除List中重复的数据
     {
          Console.WriteLine(s);
     }
 
2012-11-16
1、在制作原型的初期请把所有精力都放在流程的优化和布局设计上面吧,不要把时间浪费在视觉设计上,那样绝对是得不偿失。
2、500错误
500 服务器内部错误。
500.11 服务器错误:Web 服务器上的应用程序正在关闭。
500.12 服务器错误:Web 服务器上的应用程序正在重新启动。
500.13 服务器错误:Web 服务器太忙。
500.14 服务器错误:服务器上的无效应用程序配置。
500.15 服务器错误:不允许直接请求 GLOBAL.ASA。
500.16 服务器错误:UNC 授权凭据不正确。
500.17 服务器错误:URL 授权存储无法找到。
500.18 服务器错误:URL 授权存储无法打开。
500.19 服务器错误:该文件的数据在配置数据库中配置不正确。
500.20 服务器错误:URL 授权域无法找到。
 
当不在本地进行有关调试或者说是访问VM以及服务器时,很多时候会报“500 服务器内部错误”,不会真正显示下面的具体错误信息,如果是调试的话,可以直接在VM或者服务器上通过服务器上浏览器访问localhost,可以显示出具体的报错信息。
 
2012-11-20
Session
     1.Session是一种Web会话中的常用状态之一。
2.Session提供了一种把信息保存在服务器内存中的方式。他能储存任何数据类型,包含自定义对象。
3.每个客户端的Seesion是独立存储的。
4.在整个会话过程中,只要SessionID的cookie不丢失,都会保存Session信息的。
5.Session不能跨进程访问,只能由该会话的用户访问。应为提取Session数据的id标识是以Cookie的方式保存到访问者浏览器的缓存里的。
6.当会话终止,或过期时,服务器就清除Session对象。
7.Session常用于保存登录用户的ID.
8.Session保存的数据是跨页面全局型的。
 
2012-11-21
1、Visual Studio快捷方式
  • 快速切换标签页:ctrl+tab
  • 跳到单词开始或结束位置:ctrl+左右箭头
  • 全屏编辑代码:shift+alt+enter
  • 调出即时窗口:ctrl+alt+i
  • 新建类:ctrl + .("")
2、JavaScript 语言规范
    • 声明变量时, 必须加上 var 关键字.
    • 尽量减少全局变量的使用.
    • 语句总是以分号结尾.
    • 不要在块内声明函数.
    • 标准特性优于非标准特性(如果类库有提供, 优先使用类库中的函数).
    • 不要封装基本类型.
    • 只在解析序列化串时使用 eval() .
    • 禁止使用 with .
    • 减少使用 continue 和 break .
    • 仅在函数内使用 this .
    • 使用 Array/Object 直接量, 避免使用 Array/Object 构造器.
    • 禁止修改内置对象的原型.
 
3、HTML元素
  • p 表示段落. 只能包含内联元素, 不能包含块级元素;
  • div 本身无特殊含义, 可用于布局. 几乎可以包含任何元素;
  • br 表示换行符;
  • hr 表示水平分割线;
  • h1-h6 表示标题. 其中 h1 用于表示当前页面最重要的内容的标题;
  • blockquote 表示引用, 可以包含多个段落. 请勿纯粹为了缩进而使用 blockquote, 大部分浏览器默认将 blockquote 渲染为带有左右缩进;
  • pre 表示一段格式化好的文本;
  • title 每个页面必须有且仅有一个 title 元素;
  • base 可用场景:首页、频道等大部分链接都为新窗口打开的页面;
  • link link 用于引入 css 资源时, 可省去 media(默认为all) 和 type(默认为text/css) 属性;
  • style type 默认为 text/css, 可以省去;
  • script type 属性可以省去; 不赞成使用lang属性; 不要使用古老的<!– //–>这种hack脚本, 它用于阻止第一代浏览器(Netscape 1和Mosaic)将脚本显示成文字;
<!-- 不推荐 --><link rel="stylesheet" href="//www.google.com/css/maia.css" type="text/css"><!-- 不推荐 --><script src="//www.google.com/js/gweb/analytics/autotrack.js" type="text/javascript"></script>
<!-- 推荐 --><link rel="stylesheet" href="//www.google.com/css/maia.css"><!-- 推荐 --><script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
  • noscript 在用户代理不支持 JavaScript 的情况下提供说明;
  • a a 存在 href 属性时表示链接, 无 href 属性但有 name 属性表示锚点;
  • em,strong em 表示句意强调, 加与不加会引起语义变化, 可用于表示不同的心情或语调; strong 表示重要性强调, 可用于局部或全局, strong强调的是重要性, 不会改变句意;
  • abbr 表示缩写;
  • sub,sup 主要用于数学和化学公式, sup还可用于脚注;
  • span 本身无特殊含义;
  • ins,del 分别表示从文档中增加(插入)和删除
  • img 请勿将img元素作为定位布局的工具, 不要用他显示空白图片; 给img元素增加alt属性;例如
<!-- 不推荐 --><img src="spreadsheet.png">
<!-- 推荐 --><img src="spreadsheet.png" alt="Spreadsheet screenshot.">
  • object 可以用来插入Flash;
  • dl 表示关联列表, dd是对dt的解释; dt和dd的对应关系比较随意:一个dt对应多个dd、多个dt对应一个dd、多个dt对应多个dd, 都合法; 可用于名词/单词解释、日程列表、站点目录; 
  • ul 表示无序列表;
  • ol 表示有序列表, 可用于排行榜等; 
li表示列表项, 必须是ul/ol的子元素;
 
  • 推荐使用 button 代替 input, 但必须声明 type;
  • 推荐使用 fieldset, legend 组织表单
  • 表单元素的 name 不能设定为 action, enctype, method, novalidate, target, submit 会导致表单提交混乱
 
4、JavaScript 小技巧

True 和 False 布尔表达式
下面的布尔表达式都返回 false:
  • null
  • undefined
  • '' 空字符串
  • 0 数字0

但小心下面的, 可都返回 true:
  • '0' 字符串0
  • [] 空数组
  • {} 空对象

下面段比较糟糕的代码:
while (x != null) {

你可以直接写成下面的形式(只要你希望 x 不是 0 和空字符串, 和 false):
while (x) {

如果你想检查字符串是否为 null 或空:
if (y != null && y != '') {

但这样会更好:
if (y) {

注意: 还有很多需要注意的地方, 如:
  • Boolean('0') == true
    '0' != true
  • 0 != null
    0 == []
    0 == false
  • Boolean(null) == false
    null != true
    null != false
  • Boolean(undefined) == false
    undefined != true
    undefined != false
  • Boolean([]) == true
    [] != true
    [] == false
  • Boolean({}) == true
    {} != true
    {} != false


条件(三元)操作符 (?:)
三元操作符用于替代下面的代码:
if (val != 0) {
  return foo();
} else {
  return bar();
}

你可以写成:
return val ? foo() : bar();

在生成 HTML 代码时也是很有用的:
var html = '<input type="checkbox"' +
    (isChecked ? ' checked' : '') +
    (isEnabled ? '' : ' disabled') +
    ' name="foo">';


&& 和 ||
二元布尔操作符是可短路的, 只有在必要时才会计算到最后一项.
"||" 被称作为 'default' 操作符, 因为可以这样:
/** @param {*=} opt_win */
function foo(opt_win) {
  var win;
  if (opt_win) {
    win = opt_win;
  } else {
    win = window;
  }
  // ...
}

你可以使用它来简化上面的代码:
/** @param {*=} opt_win */
function foo(opt_win) {
  var win = opt_win || window;
  // ...
}

"&&" 也可简短代码.比如:
if (node) {
  if (node.kids) {
    if (node.kids[index]) {
      foo(node.kids[index]);
    }
  }
}

你可以像这样来使用:
if (node && node.kids && node.kids[index]) {
  foo(node.kids[index]);
}

或者:
var kid = node && node.kids && node.kids[index];
if (kid) {
  foo(kid);
}

不过这样就有点儿过头了:
node && node.kids && node.kids[index] && foo(node.kids[index]);


使用 join() 来创建字符串
通常是这样使用的:
function listHtml(items) {
  var html = '<div class="foo">';
  for (var i = 0; i < items.length; ++i) {
    if (i > 0) {
      html += ', ';
    }
    html += itemHtml(items[i]);
  }
  html += '</div>';
  return html;
}

但这样在 IE 下非常慢, 可以用下面的方式:
function listHtml(items) {
  var html = [];
  for (var i = 0; i < items.length; ++i) {
    html[i] = itemHtml(items[i]);
  }
  return '<div class="foo">' + html.join(', ') + '</div>';
}

你也可以是用数组作为字符串构造器, 然后通过 myArray.join('') 转换成字符串. 不过由于赋值操作快于数组的 push(), 所以尽量使用赋值操作.

遍历 Node List
Node lists 是通过给节点迭代器加一个过滤器来实现的. 这表示获取他的属性, 如 length 的时间复杂度为 O(n), 通过 length 来遍历整个列表需要 O(n^2).
var paragraphs = document.getElementsByTagName('p');
for (var i = 0; i < paragraphs.length; i++) {
  doSomething(paragraphs[i]);
}

这样做会更好:
var paragraphs = document.getElementsByTagName('p');
for (var i = 0, paragraph; paragraph = paragraphs[i]; i++) {
  doSomething(paragraph);
}

这种方法对所有的 collections 和数组(只要数组不包含 falsy 值) 都适用.
在上面的例子中, 也可以通过 firstChild 和 nextSibling 来遍历孩子节点.
var parentNode = document.getElementById('foo');
for (var child = parentNode.firstChild; child; child = child.nextSibling) {
  doSomething(child);
}
2012-11-23
1、HTML 标准属性

下面列出了所有 HTML 和 XHTML 标签支持的标准属性,仅有少数例外。

核心属性 (Core Attributes)

以下标签不提供下面的属性:base、head、html、meta、param、script、style 以及 title 元素。

属性描述
class classname 规定元素的类名(classname)
id id 规定元素的唯一 id
style style_definition 规定元素的行内样式(inline style)
title text 规定元素的额外信息(可在工具提示中显示)

语言属性 (Language Attributes)

以下标签不提供下面的属性:base、br、frame、frameset、hr、iframe、param 以及 script 元素。

属性描述
dir ltr | rtl 设置元素中内容的文本方向。
lang language_code 设置元素中内容的语言代码。语言代码参考
xml:lang language_code 设置 XHTML 文档中元素内容的语言代码。语言代码参考

键盘属性 (Keyboard Attributes)

属性描述
accesskey character 设置访问元素的键盘快捷键。
tabindex number 设置元素的 Tab 键控制次序。
 
2、out参数只进不出,ref参数有进有出。在用法上概括一下就是:out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。 参考:http://www.cnblogs.com/poorpan/archive/2011/08/14/2138498.html
 
2012-11-26
1、<blockquote> 标签定义块引用。<blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。
2、<q></q> 在HTML中定义:双引号("")
   <p></p> 在HTML中定义段落
3、content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容。
 
2012-11-29
1、javascript执行"没有权限"什么原因?
     如果是同一个虚拟目录下的文件应该没有问题,你可能是iframe了其它域的文件了。默认是不能跨域访问的。呵呵。我也是刚刚了解这个问题。你这中情况下,如果第1个页面和第2个页面不是在同一服务器上就行不通。看你的情形,应该是跨域操作结果,看看你iframe的src里有没有写主机名什么的?file:///这样也算啊。在HTTP方式打开的
 

文件误删恢复方法

一不小心,删错了,还把回收站清空了,咋办啊?只要三步,你就能找回你删掉并清空回收站的东西步骤:
1、单击“开始——运行,然后输入regedit (打开注册表)
2、依次展开:HEKEY——LOCAL——MACHIME/SOFTWARE/microsoft/WINDOWS/ CURRENTVERSION/EXPLORER/DESKTOP/NAMESPACE 在左边空白外点击“新建”,选择:“主键”,把它命名为“645FFO40——5081——101B——9F08——00AA002F954E”再把右边的“默认”的主键的键值设为“回收站”,然后退出注册表。就OK啦。
3、要重启计算机。只要机器没有运行过磁盘整理。系统完好.任何时候的文件都可以找回来。
posted @ 2013-05-02 13:27  Nick.Liu  阅读(212)  评论(0编辑  收藏  举报