【转】小知识3

1.QQ在线服务代码 http://niunan.iteye.com/blog/412756

2.日期字符串转化为日期

C#:  string str = "20100101"

        DateTime dt = DateTime.ParseExact(str, "yyyyMMdd"null);

Java:String str ="1900-02-21 12:23:33";

        SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date dt = dateformat .parse(time);

3.在网页中添加google搜索的运用

文本框+按钮  按钮的事件代码主要是Response.Redirect("http://www.google.com/search?q=" & 文本框.Text);

4.博客网站流量统计http://pzmayf.iteye.com/blog/415824,有一个是给我留言的统计标识(注册登录后跳到流量统计页点留言总览会看到别人给你的留言(注册后重新载入网页,拉到最下面点连接进入看自己的流量)。

5.marquee的使用:http://www.cnblogs.com/hellyejf/archive/2008/08/28/1279054.html

6.javascript获取客户端ip:http://www.myext.cn/javascript/9291.html  

(http://fw.qq.com/ipaddress注意编码charset="gb2312" 及IPData[]的大小写)

7.页面载入时执行javascript函数:

window.onload=function()

 {

    document.getElementById("ip").innerHTML=IPData[0];

 }

8.想在后置代码中获取javascript函数里的值但又不想在页面上显示这个值可以利用 <input id="hidden1" type="hidden" value="" runat="server" />

如javascript: <script type="text/javascript"> 

                      window.onload=function()

                     {

                         var str="iamxxx";

                   document.getElementById("hidden1").value=str;

                     }

                    </script> 

后台代码:          protected void Button1_Click(object sender, EventArgs e)

                    {

                        Label1.text = hidden1.Value;

                    }

9.js获取客户端浏览器版本和操作系统版本信息:http://kaibo-88.iteye.com/blog/756859

10.自定义博客园样式(博客园为用户开放了好多修改样式的权限,除了自由修改公告以外,我们通过其提供的css定制页面风格来修改其他样式,先要选择禁用模板默认css,但这样整个博客的样式会变得杂乱无章,我们自己从新定义的话很费时间,可以直接复制博客园自己的css到我们的自定义css中(方法是利用开发人员工具,选到css的下拉列表,就会看到博客园自己的css的连接(将连接放到地址栏就可以看到相关css了(甚至连head里的<style type="text/css">定义的样式也能看见),

然后就可以复制过来了)也可以看到我们在博客园的自定义css(连接是http://www.cnblogs.com/*****/customcss.aspx))我们就可以用开发人员工具来查看我们想要修改的DOM对象的id或class及其属性设置,然后就可以随意修改其属性值了(将这些css代码考到记事本里,通过查找定位,再修改))差不多对于任何网页里的美工效果我们都可以用开发人员工具来查看其美工代码经分析后进行模仿,对于客户端脚本也是如此,但是IE浏览器的缓存功能会使有时不能马上看到效果,最好重开浏览器再看(chrome好像不用)。当然博客园不可能将每个元素节点都加id或class,所以对于有些样式会直接写在该元素的style或其他样式属性里,而这些元素又没有id或class,我们可以用jquery(当然要先导入到园子里)里的好多方法来找到该元素然后再用jQuery的修改属性的方法来修改这些样式,这个过程要很好的结合vs(如果你怕出错的话,要先在vs里实验成功再将代码考到园子里)和开发人员工具(因为你要很好的了解这些元素的结构,比如<table>;输出时其内会加一个<tbody>的元素,如果你不看开发人员工具而忽略此元素的话就找不到里面的tr和td了)。当然你也可以用纯js,但那比较麻烦而且容易出错。

关于给同一元素重复定义相同的样式按出现的先后顺序覆盖,css文件与head里的<style type="text/css">以后面定义的样式为准(css文件和head里的<style type="text/css">在同一网页内是一视同仁的),元素通过style属性(inline-style)定义的重复样式也是按后面的样式为准)

11.js通过类名来获得Dom对象:http://www.iteye.com/topic/702854(返回的是一个对象数组哦)

      js DOM总结:http://windywindy.iteye.com/blog/570252

      js 查找DOM元素法:http://hi.baidu.com/ssl346/blog/item/365d064e051e5fcdd1c86a04.html

      元素节点,属性节点,文本节点:http://a630147825-yahoo-com-cn.iteye.com/blog/698729

      用vs做javascript有时会出现延迟的状况,没办法只能等待了

12.了解你的网站的访问者(看来自哪个国家等):http://clustrmaps.com/zh/index.htm

13.文件夹共享,访问,管理全接触:http://qkzz.net/article/f4038904-e8dd-4c24-a1bf-9085ba884c8d.htm

14.GET方式与POST方式提交表单:http://www.cnblogs.com/wxf0701/archive/2008/08/17/1269798.html

                                                    http://www.cnblogs.com/Farseer1215/articles/124896.html

                                                    http://developer.51cto.com/art/200907/140267.htm

HTTP协议分析:http://blog.csdn.net/kendezhu/archive/2010/11/08/5995797.aspx

在ASP.NET中form表单默认使用的提交方式是post,这一点你可以通过开发人员工具来看,也可以看出来默认的action值就是当前页面,另外提交的名值没有出现在浏览器地址栏上也可以说明这一点。通过URL的方式访问一个页面不管加没加?name=***,都相当于用get向该页面提交一个表单,这一点你可以通过Request.RequestType方法看出来。第二个链接中说有runat="server"的form不能用post的方式提交到其他页面,其实对于get方式也是一样的(注意:这里说的是提交整个表单,而不是只是用?name=value来只传递自定义的几个名值,当然我们一般不会用get的方式来提交整个表单),通过开发人员工具可以看出有runat="server"的form,无论你将其action设置成任何其他页面,最终在客户端该action的值始终是当前页,也就是说有runat="server"的form只能被提交到当前页。如果想将当前页form提交到其他页面,只有将当前页的form的runat="server"去掉,但这样你将不能使用大多数ASP.NET服务器控件(Label还能使用),这样ASP.NET就变成和J2EE差不多了,就失去优势了。还是拿表单提交来举例,J2EE中如果是要获得页面上<input type="text" name="myname" id="ecl" value=""/>文本框的值value,需要在servlet或javaBean中用request对象来通过name获取相应的value值(实际上request来获取表单中的数据就是靠name来获取对应的value值(名值对)而不管你是文本框还是按钮还是其他什么(但是对于Button控件,如果将其 UseSubmitBehavior属性设置为false,那么你用request通过其name是获取不到其value值的)并且是将form表单内所有的控件都提交(包括隐藏的__VIEWSTATE,事实上这个隐藏的hidden标签就是viewstate,它和控件状态可以保存并在服务器与浏览器之间来回传递控件的值)http://kendezhu.iteye.com/admin/blogs/752240)。而在ASP.NET中<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>你只需敲出控件ID及相应属性就可获得值(viewstate和控件状态会根据控件ID将该属性的值分发给其属性),当然也可以用request的方法来获得,不过你要明白这些控件都是生成怎样的客户端代码,一般而言我们拖入控件时的ID就是客户端的name属性,我们就可以用request根据name(貌似不区分大小写)来获得value了。不过提交表单的按钮不能提交除自己以外的其他按钮,也就是说你可以通过request获得你点击的按钮的value值但不能获得其他按钮的value值。客户端控件<input type="submit"/>能起到提交表单的作用,与服务器有交互,因此该客户端控件可以引起回发。但如果我们想用ASP.NET服务器控件又想将值传到其他页面怎么办?我们要在页面中传值不一定非要向另一个页面提交表单,只要传我们想要传的值就可以了,例如我们可以用URL加?name=***的方式向另一个页面传递值,而其他名值不出现在地址栏的方式在第二个链接中也有涉及。

补:现在我们已经知道可以通过request根据name来获取其value值了,但控件中有服务器端控件也有客户端控件。客户端控件好说,我们可以自由设置其name和value。对于服务器端控件不同的控件可能不同,但肯定的是其ID值就是其在客户端的name,这一点上面已经谈到了(可以通过开发人员工具来看),而一般控件如TextBox,Button等其text属性的值就是其在客户端的value值(这也可以通过开发人员工具来看),而一些特殊控件RadioButton(其ID值同时又是其在客户端的value值,但当给一组RadioButton放在同一组后,它们却又有共同的name,就是GroupName组名(这也可以通过开发人员工具来看))CheckBox(如果选中其value值就是on,没选其value值是null(不是空哦)这是试出来的)(暂时发现这俩个,如果以后有新发现会及时更新)

由此可以得知,如果我们要取得这些特殊控件的value值,最好用它们的对应客户端控件(<input type="checkbox" />--CheckBox等等)。不过对于RadioButton们我们可以设置其ID为我们想要的value,然后放在一个组里,通过request其组名来获得value值(之所以这样做是因为我不知道多个<input type="radio" />怎么才能"相互排斥")。

 男<input id="Radio1" type="radio" checked="checked" name="sex" />

 女<input id="Radio2" type="radio"  name="sex"/>     相同的name可以相互排斥

15.字节byte比特bit:http://blog.csdn.net/bigapple88/archive/2010/05/17/5601295.aspx

1byte=8bit(位) 每位就是一个二进制0或1 所以一个二进制数占1位

http://blog.csdn.net/kendezhu/archive/2009/12/04/4942059.aspx

http://blog.csdn.net/muyangzuo/archive/2006/07/26/979145.aspx

16.测试.NET程序效率与性能的小工具

ANTS Profiler:http://www.cnblogs.com/koffer/archive/2004/11/18/65256.html 

17.关于第14个小技巧中提到的在不将form的runat=server去掉的情况下将本页的表单提交到其他页面(不管是post还是get方式),最近发现是有一种方法来完成,那就是使用Server.Transfer("URL")(我觉的此方法类似与jsp里的<jsp:forword page="url">,页面的转向是服务器端的,不会改变浏览器地址栏的地址,而实际上页面已经改变,但刷新又会回到前一个页面)而Response.Redirect("URL")(与J2EE里的response.sendRedirect("url")类似,是向浏览器发送一个消息然后由浏览器重定向,浏览器地址栏的地址会改变)。而前者可以在转向另一个页面的同时将本页的表单提交(post或get方式都可以)另一个页面,这样我们在另一个页面就可以利用Request.QueryString(get)或Request.Form(post)或直接Request(get,post)的方式获取前一个页面的表单里的所有值了。

http://doc.cnnas.com/web/html/9/t-9.html

补:最近又发现了Server.Transfer("本站页面的URL")的替代方法,替代该方法主要原因是其页面的转向是服务器端的,不会改变浏览器地址栏的地址,而实际上页面已经改变,但刷新又会回到前一个页面:http://www.cnblogs.com/SoulStore/archive/2008/12/10/1352059.html

这就是Button,LinkButton都有的属性----PostBackUrl

我们直接来看"接收页"的代码:

 protected void Page_Load(object sender, EventArgs e)

        {

            if (PreviousPage!=null)

            {          

补: string str=Request.Form["TextBox1"];  也可以用Request的方法来获得,所以不用使用PreviousPage那么麻烦

                TextBox tb = (TextBox)PreviousPage.FindControl("TextBox1");

                HtmlInputRadioButton rb = (HtmlInputRadioButton)PreviousPage.FindControl("Radio1");

                HtmlInputText tx = (HtmlInputText)PreviousPage.FindControl("Text1");

                Label2.Text = tb.Text + rb.Value + tx.Value + PreviousPage.IsCrossPagePostBack.ToString();

            }

        }

PreviousPage代表"发送页"实例的引用(而且是传送页的aspx页面类的实例引用:http://kendezhu.iteye.com/blog/788770),不是只有用PostBackUrl这种方式才会产生一个PreviousPage,ServerTransfer()也会产生一个PreviousPage(即发送页在接收页的实例),所以用ServerTransfer()方法在接收页端既可用request的方式得到数据又可通过发送页的实例来得到发送页控件的数据。但是PostBackUrl方式可以更新浏览器地址栏的URL,PostBackUrl方式属于跨页面提交,跨页面提交是客户端浏览器的行为(可以通过PreviousPage.IsCrossPagePostBack来看是不是跨页面提交)

跨页面提交的分析:http://ximenyifan.com/article/865.htm

所以既然一个页面的实例都过来了,我们自然可以通过其FindControl()方法来找到其内的控件,但该方法返回的控件是Control类型的(所有控件的基类),所以要进行转换。对于服务端控件,我们很清楚他们是什么类型,这里我来提一下,对于客户端控件我们需要将其转换成HTML服务器控件(也就是说"发送页"里的客户端控件需要添加属性runat="server"才能被FindControl到,然后转换类型,HTML服务器控件的类型一般是HTML***,看http://kendezhu.iteye.com/blog/728388)

最后点击加了PostBackUrl属性的Button,LinkButton将直接转向"接收页",而不会触发其事件。

18.web程序之所以不需要写Main方法作为程序的入口点是因为web服务器里已经封装好Main方法了。

19. .NET程序集反编译工具Reflector及插件:http://blog.csdn.net/JavaProgramers/archive/2006/10/31/1358635.aspx

http://www.cnblogs.com/wangjs720/archive/2007/03/10/670542.html

20. vs2010那些破事儿

http://msdn.microsoft.com/zh-cn/library/ms246610(VS.80).aspx

http://www.iplaysoft.com/vs2010.html

http://gray.iteye.com/blog/645627

http://www.rockylife.com/2010/06/vs2010-rtm-chs/

http://it.rising.com.cn/use/software/2010-09-28/8243.html

 
原文地址:https://www.cnblogs.com/gates/p/3461711.html