<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_雪的梦幻</title><subtitle type="text">有梦才有希望</subtitle><id>http://feed.cnblogs.com/blog/u/33504/rss</id><updated>2011-08-22T09:00:23Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/33504/rss"/><entry><id>http://www.cnblogs.com/snowdream/archive/2011/08/22/some-reasons-for-windows-7-auto-wake-up.html</id><title type="text">几种可能使 Windows 7 睡眠后自动唤醒的原因</title><summary type="text">本文介绍了几种可能引起 Windows 7 在睡眠状态自动唤醒的情况。</summary><published>2011-08-22T09:00:00Z</published><updated>2011-08-22T09:00:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/08/22/some-reasons-for-windows-7-auto-wake-up.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/08/22/some-reasons-for-windows-7-auto-wake-up.html"/><content type="html">&lt;p&gt;睡眠是个非常不错的功能，睡的快醒的也快，而且可以马上恢复到睡前的状态，比普通的关机、开机更方便。后来发现有时候睡了以后会突然自动醒来，唤醒以后停留在欢迎界面，登录以后也没什么异常提示或程序运行。通过检查下面的列表似乎解决了这个问题，如果有碰到类似问题的朋友可参考。&lt;/p&gt;&lt;p&gt;1.&amp;nbsp;检查唤醒后是否有程序弹出窗口或其他提示。&lt;/p&gt;&lt;p&gt;2.&amp;nbsp;是否开启网络唤醒，如果开启了网络唤醒可能会在某些情况自动被唤醒。&lt;/p&gt;&lt;p&gt;3.&amp;nbsp;检查设备管理器中可唤醒计算机的设备。可通过右击设备名称-&amp;gt;属性-&amp;gt;电源管理来查看。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110822/1.png" width="414" height="430" /&gt;&lt;/p&gt;&lt;p&gt;如果正常唤醒时要用鼠标或者键盘，这里需要将它们（或其中之一）设置为可以唤醒计算机。&lt;/p&gt;&lt;p&gt;4.&amp;nbsp;对于可以唤醒计算机的设备，检查是否有不小心按到或者碰到导致计算机被唤醒。&lt;/p&gt;&lt;p&gt;5.&amp;nbsp;检查是否有计划任务要求唤醒计算机。如不需要，可以在计划任务属性-&amp;gt;条件选项卡-&amp;gt;电源对其进行设置。&lt;/p&gt;&lt;p&gt;计划任务可能比较多，可以先查看事件管理器，找到与唤醒时间相近的事件，通过这些记录来找有关的计划任务。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110822/2.png" width="646" height="546" /&gt;&lt;/p&gt; &lt;img src="http://www.cnblogs.com/snowdream/aggbug/2149722.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/08/22/some-reasons-for-windows-7-auto-wake-up.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/07/12/404-3-when-download-from-iis-7-5.html</id><title type="text">IIS 7.5 下载文件遇到 404.3</title><summary type="text">404.3 可能是由于当前请求的文件的后缀未知造成的。某些不太常用的后缀在 IIS 中没有设置，而文件的确存在于服务器上，此时如果客户端请求下载该文件，可能会遇到此错误。</summary><published>2011-07-12T14:23:00Z</published><updated>2011-07-12T14:23:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/07/12/404-3-when-download-from-iis-7-5.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/07/12/404-3-when-download-from-iis-7-5.html"/><content type="html">&lt;p&gt;404.3可能是由于当前请求的文件的后缀未知造成的。某些不太常用的后缀在IIS中没有设置，而文件的确存在于服务器上，此时如果客户端请求下载该文件，可能会遇到此错误。&lt;/p&gt;&#xD;
&lt;p&gt;可以通过设置IIS上的MIME来解决这个问题。&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;nbsp;双击IIS中的MIME Type&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110712/1.png" width="87" longdesc="" height="76" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2.&amp;nbsp;单击右侧Action中的Add按钮&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110712/2.png" width="159" longdesc="" height="125" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3.&amp;nbsp;在弹出窗口中输入后缀名和MIME类型&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110712/3.png" width="366" longdesc="" height="211" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;MIME Type中填写的信息还会影响服务器返回给客户端数据时HTTP头部Content-Type的内容。这个内容可以让客户端知道传输的是什么信息，该用什么程序来打开。即使传输的是同一个文件，Content-Type不同可能会使客户端以不同的方式来打开它。如果要让客户端提示用户下载，可以试试application/octet-stream。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="border-bottom: #3f84e4 1px dashed; border-left: #3f84e4 1px dashed; padding-bottom: 5px; background-color: #eef7fc; padding-left: 15px; padding-right: 15px; font-family: 微软雅黑; border-top: #3f84e4 1px dashed; border-right: #3f84e4 1px dashed; padding-top: 5px; span: "  font-family: 微软雅黑 ?&gt;本文适用于 IIS 7.5&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/2104738.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/07/12/404-3-when-download-from-iis-7-5.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/06/12/get-started-with-entity-framework-power-tools-ctp1.html</id><title type="text">试用 Entity Framework Power Tools CTP1</title><summary type="text">Entity Framework Power Tools 是 Visual Studio 的一个加载项，可根据数据库结构生成实体类。对于使用 ADO.NET Entity Framework 的开发者，特别是使用了代码优先（Code First）的开发者可以试试。</summary><published>2011-06-11T23:38:00Z</published><updated>2011-06-11T23:38:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/06/12/get-started-with-entity-framework-power-tools-ctp1.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/06/12/get-started-with-entity-framework-power-tools-ctp1.html"/><content type="html">&lt;p&gt;Entity Framework Power Tools是Visual Studio的一个加载项，可根据数据库结构生成实体类。对于使用ADO.NET Entity Framework的开发者，特别是使用了代码优先（Code First）的开发者可以试试。&lt;/p&gt;&lt;p&gt;如果要使用它需要先安装ADO.NET Framework 4.1,可以从&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b41c728e-9b4f-4331-a1a8-537d16c6acdf&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b41c728e-9b4f-4331-a1a8-537d16c6acdf&amp;amp;displaylang=en&lt;/a&gt;下载。Entity Framework Power Tools的下载地址是&lt;a href="http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d"&gt;http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d&lt;/a&gt;。下载后双击即可安装。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110612/1.png" width="460" height="344" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;也可以从Visual Studio的菜单Tools-&amp;gt;External Tools打开加载项管理对话框，在左边选择Online Gallery，再选择Entity Framework Power Tools CTP1来安装。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110612/2.png" width="955" height="660" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;如上图中的描述，它是设计时的工具，因此不需要运行时支持，也就是客户端上可以不用安装这个工具。&lt;br /&gt;这个工具可以根据已有数据库的结构生成实体类。操作也很简单，右键项目名称，会有一个Entity Framework菜单，单击Reverse Engineer Code First并配置数据库连接就可以生成实体类。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110612/3.png" width="588" height="658" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;这些实体类会被放在Entities文件夹下，而Context会放在根目录。&lt;/p&gt;&lt;p&gt;这个工具对于已经有数据库，但是为了减少模块间耦合或其他原因，要使用代码优先（Code First）进行开发的开发者来说非常方便。&lt;/p&gt; &lt;img src="http://www.cnblogs.com/snowdream/aggbug/2078691.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/06/12/get-started-with-entity-framework-power-tools-ctp1.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/05/16/get-webpage-snapshot-by-webbrowser-control.html</id><title type="text">通过 WebBrowser 获取网页截图</title><summary type="text">本文介绍通过 WinForm 中的控件 WebBroswer 获取网页截图。</summary><published>2011-05-16T09:27:00Z</published><updated>2011-05-16T09:27:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/05/16/get-webpage-snapshot-by-webbrowser-control.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/05/16/get-webpage-snapshot-by-webbrowser-control.html"/><content type="html">&lt;p&gt;本文介绍通过WinForm中的控件WebBroswer获取网页截图。这个方法可以截取到大于屏幕区域的网页截图，但是对于网页上的Flash或者一些控件无法获取到图像。因为是WinForm的控件，所以未在WPF中测试。&lt;/p&gt;&lt;p&gt;在界面上加入一个文本框和一个按钮，文本框用于输入地址。在按钮按下的事件处理函数中初始化一个WebBrowser并打开网页，但它不在界面上显示。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;按钮按下事件处理函数&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;SaveSnapshot_Click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebBrowser&amp;nbsp;webBrowser&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;WebBrowser();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;创建一个WebBrowser&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.ScrollBarsEnabled&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;隐藏滚动条&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.Navigate(address.Text);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;打开网页&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.DocumentCompleted&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;增加网页加载完成事件处理函数&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;在网页加载完成的处理函数中获取截图，调节图片大小并保存。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;网页加载完成事件处理函数&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;webBrowser_DocumentCompleted(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;sender,&amp;nbsp;WebBrowserDocumentCompletedEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebBrowser&amp;nbsp;webBrowser&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;(WebBrowser)sender;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;网页加载完毕才保存&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;(webBrowser.ReadyState&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;WebBrowserReadyState.Complete)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;获取网页高度和宽度,也可以自己设置&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;height&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;webBrowser.Document.Body.ScrollRectangle.Height;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;width&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;webBrowser.Document.Body.ScrollRectangle.Width;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;调节webBrowser的高度和宽度&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.Height&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;height;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.Width&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;width;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap&amp;nbsp;bitmap&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;Bitmap(width,&amp;nbsp;height);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;创建高度和宽度与网页相同的图片&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rectangle&amp;nbsp;rectangle&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;Rectangle(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,width,height);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;绘图区域&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webBrowser.DrawToBitmap(bitmap,&amp;nbsp;rectangle);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;截图&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;保存图片对话框&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveFileDialog&amp;nbsp;saveFileDialog&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;SaveFileDialog();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveFileDialog.Filter&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;JPEG&amp;nbsp;(*.jpg)|*.jpg|PNG&amp;nbsp;(*.png)|*.png&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;saveFileDialog.ShowDialog();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;bitmap.Save(saveFileDialog.FileName);&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;保存图片&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;32&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/snowdream/Snowdream.Sample.WebpageSnapshot.zip"&gt;示例下载&lt;/a&gt;(Visual Studio 2010)&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/2047892.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/05/16/get-webpage-snapshot-by-webbrowser-control.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/04/19/upload-file-to-aspnet-mvc-website.html</id><title type="text">WPF 客户端上传文件到 ASP.NET MVC 网站</title><summary type="text">本文介绍客户端向ASP.NET MVC网站上传文件的一种方法。</summary><published>2011-04-19T11:49:00Z</published><updated>2011-04-19T11:49:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/04/19/upload-file-to-aspnet-mvc-website.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/04/19/upload-file-to-aspnet-mvc-website.html"/><content type="html">&#xD;
&lt;p&gt;本文介绍客户端向ASP.NET MVC网站上传文件的一种方法。上传的文件比较小时可以用到。如果文件比较大，通过FTP协议上传也许更适合一些。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;服务端&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;既然客户端要向服务端传文件，服务端得能收文件才行。在ASP.NET MVC网站中，要接收客户端的文件上传很简单。因为不用给客户端返回视图，只要和客户端通信即可，所以不用新建View。新建一个controller增加一个action，或者在现有controller中增加一个action用来处理文件上传。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;上传&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="file"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;上传的文件信息&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[HttpPost]&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;允许以POST方式提交数据&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;Upload(HttpPostedFileBase&amp;nbsp;file)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;file.SaveAs(Server.MapPath(String.Format(&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;/UploadFiles/{0}&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,&amp;nbsp;file.FileName)));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;保存文件&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 128);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;返回数据给客户端&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;参数名file也是POST数据时的key名，客户端在上传数据时也要带这个名字。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;客户端&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;客户端使用WPF或是WinForm区别不大，主要是获取要上传文件的路径，然后将该文件上传到服务器。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;选择文件按钮&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;select_Click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OpenFileDialog&amp;nbsp;dialog&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;OpenFileDialog();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;初始化对话框&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dialog.Multiselect&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;不允许选中多个文件&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dialog.ShowDialog();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;显示对话框&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;filePath.Content&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;dialog.FileName;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;把文件路径显示在界面上&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;upload.IsEnabled&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;允许按上传按钮&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;上传文件按钮&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(128, 128, 128);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;upload_Click(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;sender,&amp;nbsp;RoutedEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;url&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;http://localhost:9741/Sample/Upload&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;上传文件的服务端URL&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WebClient&amp;nbsp;webClient&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;WebClient();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;初始化WebClient&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;webClient.UploadFile(url,&amp;nbsp;filePath.Content.ToString());&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&amp;nbsp;上传文件&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 128);"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;WebClient上传文件时默认的key就是file，因此这里没有显式的设置。如果使用方式上传数据，可能需要提供这个名字，以使服务器能够接收到文件。&lt;/p&gt;&lt;p&gt;在这个例子中，服务端没有对客户端或上传的文件进行验证。在正式使用时，应考虑到安全因素。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/snowdream/Snowdream.Sample.UploadFile.zip"&gt;&#xD;
示例下载&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="padding: 5px 15px; border: 1px dashed rgb(63, 132, 228); font-family: 微软雅黑; background-color: rgb(238, 247, 252);"  微软雅黑="" ?=""&gt;本文适用于&amp;nbsp;.NET Framework 4&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt; &#xD;
&lt;img src="http://www.cnblogs.com/snowdream/aggbug/2021444.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/04/19/upload-file-to-aspnet-mvc-website.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/03/22/enable-ie9-play-navigation-sound.html</id><title type="text">开启 IE9 导航声音</title><summary type="text">IE9已经发布了，感觉工具栏变简洁了，网页区域变大了。但是浏览了几个网页以后发现以前打开网页时“咯”的声音没了。IE9默认好像把这个声音关了，要打开可尝试以下步骤。</summary><published>2011-03-22T00:24:00Z</published><updated>2011-03-22T00:24:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/03/22/enable-ie9-play-navigation-sound.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/03/22/enable-ie9-play-navigation-sound.html"/><content type="html">&lt;p&gt;IE9已经发布了，可以从&lt;a href="http://windows.microsoft.com/zh-CN/internet-explorer/products/ie/home"&gt;http://windows.microsoft.com/zh-CN/internet-explorer/products/ie/home&lt;/a&gt;下载。感觉工具栏变简洁了，网页区域变大了。浏览了几个网页以后发现以前打开网页时&amp;#8220;咯&amp;#8221;的声音没了。IE9默认好像把这个声音关了，要打开可尝试以下步骤。&lt;/p&gt;&lt;p&gt;1.点击齿轮图标，选择Internet options。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110322/1.png" /&gt;&lt;/p&gt;&lt;p&gt;2.在Internet options中选择Advanced标签，勾选Accessibility中的Play system sounds。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110322/2.png" /&gt;&lt;/p&gt;&lt;p&gt;3.如果还没有声音，请检查控制面板声音属性中的Start Navigation是否已经启用。&lt;/p&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110322/3.png" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/1990939.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/03/22/enable-ie9-play-navigation-sound.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/02/19/wpf-screen-tip.html</id><title type="text">WPF 实现屏幕文字提示</title><summary type="text">本文介绍 WPF 应用程序实现在屏幕上显示一行或多行文字通知。它没有标题栏和最大化最小化等按钮，可以有半透明背景以使文字的显示更清晰，鼠标点击后提示消失。</summary><published>2011-02-19T14:22:00Z</published><updated>2011-02-19T14:22:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/02/19/wpf-screen-tip.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/02/19/wpf-screen-tip.html"/><content type="html">&lt;p&gt;本文介绍WPF应用程序实现在屏幕上显示一行或多行文字通知。它没有标题栏和最大化最小化等按钮，可以有半透明背景以使文字的显示更清晰，鼠标点击后提示消失。&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;nbsp;新建一个WPF Application。&lt;/p&gt;&#xD;
&lt;p&gt;2.&amp;nbsp;将Window的WindowStyle属性设置为"None"去掉标题栏，将AllowsTransparency属性设置为"True"允许透明，Topmost属性设置为"True"使提示文字显示在顶层，Background属性设置为"#00000000"使窗口透明。&lt;/p&gt;&#xD;
&lt;p&gt;3.&amp;nbsp;设置Grid的Background属性。如显示黑色文字提示，可使用半透明白色背景。透明的效果如果由Opacity属性产生会使该容器内的其他元素也有透明效果。比较简单的方法是通过Background属性的前两位来设置透明度。&lt;/p&gt;&#xD;
&lt;p&gt;4.&amp;nbsp;给Window的MouseLeave、MouseDown、MouseEnter事件添加处理方法。添加MouseEnter和MouseLeave事件的处理方法是为了让鼠标划入提示区域时加深背景透明度，鼠标划出提示区域时减小背景透明度。MouseDown事件的处理方法使鼠标点击提示区域后取消提示。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('465e90fb-8e19-4a88-a5f0-3cebedac1eab')"&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;鼠标移入处理方法&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Window_MouseEnter(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;MouseEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Brush&amp;nbsp;brush&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SolidColorBrush(Color.FromArgb(&lt;/span&gt;&lt;span style="color: #800080"&gt;0x78&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;,&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;创建一个纯色brush&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Background&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;brush;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;应用于grid&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;鼠标移出处理方法&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Window_MouseLeave(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;MouseEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Brush&amp;nbsp;brush&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;new&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SolidColorBrush(Color.FromArgb(&lt;/span&gt;&lt;span style="color: #800080"&gt;0x52&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080"&gt;0xFF&lt;/span&gt;&lt;span style="color: #000000"&gt;));&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;创建一个纯色brush&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid.Background&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;brush;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;应用于grid&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;21&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;22&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;23&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;24&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;鼠标按下处理方法&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;25&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;26&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="sender"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;27&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;param&amp;nbsp;name="e"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;28&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;private&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;void&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Window_MouseDown(&lt;/span&gt;&lt;span style="color: #0000ff"&gt;object&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sender,&amp;nbsp;MouseButtonEventArgs&amp;nbsp;e)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;29&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;30&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mainWindow.Close();&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;//&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;或者使用mainWindow.Hide()隐藏窗口&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;31&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://files.cnblogs.com/snowdream/Snowdream.Demo.WpfScreenTip.zip"&gt;示例下载&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="border-bottom: #3f84e4 1px dashed; border-left: #3f84e4 1px dashed; padding-bottom: 5px; background-color: #eef7fc; padding-left: 15px; padding-right: 15px; font-family: 微软雅黑; border-top: #3f84e4 1px dashed; border-right: #3f84e4 1px dashed; padding-top: 5px; span: "  font-family: 微软雅黑 ?&gt;本文适用于 .NET Framework 4&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/1958709.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/02/19/wpf-screen-tip.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/02/12/back-and-forward-support-for-ajax.html</id><title type="text">AJAX 网页保留浏览器前进后退等功能</title><summary type="text">AJAX 的应用较少了页面的刷新次数，但是也可能会使浏览器的前进、后退、刷新等功能受到影响。本文简单说一下保留浏览器前进、后退、刷新等功能。</summary><published>2011-02-12T04:37:00Z</published><updated>2011-02-12T04:37:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/02/12/back-and-forward-support-for-ajax.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/02/12/back-and-forward-support-for-ajax.html"/><content type="html">&lt;p&gt;AJAX的应用较少了页面的刷新次数，但是也可能会使浏览器的前进、后退、刷新等功能受到影响。在一些AJAX被大量使用的页面，有时都不太敢刷新，因为刷新以后可能看到的是和原来有很大不同的页面。暂不讨论在某些页面内容大量更新的情况下是否该使用AJAX的问题，本文简单说一下保留浏览器前进、后退、刷新等功能。&lt;/p&gt;&#xD;
&lt;p&gt;这里假设一个有两个Tabs的页面，每个Tab中含有大量文字，可能还有图片。如果现在觉得Tab2的内容很好，把它加入收藏夹或发送给朋友。下次通过收藏夹打开或者朋友点开这个链接的时候很有可能看到的是Tab1的内容，然后需要鼠标再次点击Tab2才看到想要看的内容。如果页面逻辑更为复杂，则可能要进行多步操作才能回到希望看的内容，这样的体验不太好。&lt;/p&gt;&#xD;
&lt;p&gt;要使刷新、加入收藏夹等功能正常使用，需要让当前的操作在URI上有所体现。但是改变URI的同时又不能引起页面的刷新，因此可以通过改变URI中的片段(fragment)来实现。例如，点击Tab1后将URI改为&lt;a href="http://www.example.com/example.html#tab1"&gt;http://www.example.com/example.html#tab1&lt;/a&gt;，点击Tab2则将URI改为&lt;a href="http://www.example.com/example.html#tab2"&gt;http://www.example.com/example.html#tab2&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('498f688f-1871-40a1-95fb-276b98b4f0c9')"&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowTab1()&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab2&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).hide();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab1&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).show();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.location.hash&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab1&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;};&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowTab2()&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab1&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).hide();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab2&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;).show();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.location.hash&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab2&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这样做已经使得URI产生了变化，但是无论通过&lt;a href="http://www.example.com/example.html#tab1"&gt;http://www.example.com/example.html#tab1&lt;/a&gt;还是&lt;a href="http://www.example.com/example.html#tab2"&gt;http://www.example.com/example.html#tab2&lt;/a&gt;访问页面都是显示Tab1的内容，所以还需要在页面载入时读取#后的内容。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;$(document).ready(ShowTab());&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;function&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ShowTab()&amp;nbsp;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;(window.location.hash&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;==&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;#tab2&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowTab2();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowTab1();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这样，刷新和加入收藏夹等功能都已经可以使用了，不过前进和后退还是会有麻烦。虽然这两个按钮已经变得可用，但是点击时网页的内容并没有发生变化。我们需要用到body的onhashchange事件。onhashchange事件并不是所有浏览器都支持的，如果要使不支持该事件的浏览器也检测#后内容的变化，可能需要写一个函数定期检测window.location.hash的变化或者自己实现onhashchange事件。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://files.cnblogs.com/snowdream/Snowdream.Demo.BackAndForwardSupportForAjax.zip"&gt;示例下载&lt;/a&gt;&amp;nbsp;(Visual Studio 2010)&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/1952248.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/02/12/back-and-forward-support-for-ajax.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2011/01/22/entity-framework-feature-codefirst-create-database-and-model.html</id><title type="text">ADO.NET Entity Framework Feature 中的 CodeFirst 创建数据库和实体类</title><summary type="text">ADO.NET Entity Framework Feature中增加了CodeFirst模式。本文介绍通过Model代码生成数据库及从数据库生成Model代码。</summary><published>2011-01-22T11:22:00Z</published><updated>2011-01-22T11:22:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2011/01/22/entity-framework-feature-codefirst-create-database-and-model.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2011/01/22/entity-framework-feature-codefirst-create-database-and-model.html"/><content type="html">&lt;p&gt;以前在使用ADO.NET Entity Framework开发时，碰到过一个问题，Model和数据层不能完全分离。之后在ADO.NET Entity Framework 4中又有了ModelFirst模式，现在在ADO.NET Entity Framework Feature中又增加了CodeFirst模式。本文介绍通过Model代码生成数据库及从数据库生成Model代码。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;从代码生成数据库&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;既然是CodeFirst，当然需要Code完成后能自动生成数据库了。&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;nbsp;添加对EntityFramework和System.Data.Entity的引用。&lt;/p&gt;&#xD;
&lt;p&gt;2.&amp;nbsp;写一个User类和Group类，User和Group是多对一的关系&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('adb62629-ecbc-40eb-925b-43353b54cc03')"&gt;&#xD;
&lt;br/&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户实体类&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;User&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;ID&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Guid&amp;nbsp;ID&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;名字&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Name&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户组别&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Group&amp;nbsp;Group&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('4cba018a-8318-4f1e-a76d-500d635f4ebc')"&gt;&#xD;
&lt;br/&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户组实体类&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Group&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;ID&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Guid&amp;nbsp;ID&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;组名&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Name&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;16&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;17&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户集合&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;18&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;19&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;virtual&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;ICollection&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;User&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Users&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;20&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3.&amp;nbsp;写一个继承自DBContext的类&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('b54222c7-78e7-408a-8e3e-fc26bd8c3c09')"&gt;&#xD;
&lt;br/&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;数据上下文&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DataContext&amp;nbsp;:&amp;nbsp;DbContext&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;8&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DbSet&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;User&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Users&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;10&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;11&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;12&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;用户组&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;13&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;14&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DbSet&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000"&gt;Group&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;Groups&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;get&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;set&lt;/span&gt;&lt;span style="color: #000000"&gt;;&amp;nbsp;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;15&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这里我们还可以重写OnModelCreating方法来对数据库的生成做一些设置，如某些列的最大长度等信息。&lt;/p&gt;&#xD;
&lt;p&gt;4.&amp;nbsp;检查数据库连接字符串&lt;/p&gt;&#xD;
&lt;p&gt;默认的数据库连接字符串将连接到.\SQLEXPRESS实例，这个是可以修改的。一个修改方法是在DataContext的构造函数中修改。如:&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;2&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;构造函数&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;3&lt;/span&gt;&amp;nbsp;&lt;span style="color: #008000"&gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;///&lt;/span&gt;&lt;span style="color: #008000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #808080"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="color: #808080"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;4&lt;/span&gt;&amp;nbsp;&lt;span style="color: #808080"&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DataContext()&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;5&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;base&lt;/span&gt;&lt;span style="color: #000000"&gt;(&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #800000"&gt;EFCodeFirstStartConnectionString&lt;/span&gt;&lt;span style="color: #800000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;6&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008080"&gt;7&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;其中EFCodeFirstStartConnectionString是连接字符串的名字&lt;/p&gt;&#xD;
&lt;p&gt;5.&amp;nbsp;当你对数据库执行操作时，如果它不存在，就会按照Model的代码来创建一个。也可以显式地用代码来创建。&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;&#xD;
http://www.CodeHighlighter.com/&lt;br/&gt;&#xD;
&lt;br/&gt;&#xD;
--&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;DbContext.Database.CreateIfNotExists();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;或&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div&gt;&lt;!--&lt;br/&gt;&lt;br/&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/&gt;http://www.CodeHighlighter.com/&lt;br/&gt;&lt;br/&gt;--&gt;&lt;span style="color: #008080"&gt;1&lt;/span&gt;&amp;nbsp;&lt;span style="color: #000000"&gt;DbContext.Database.Create();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;从数据库生成代码&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如果已经有数据库了也不必完全手写Model代码。&lt;/p&gt;&#xD;
&lt;p&gt;1.&amp;nbsp;新建一个ADO.NET Entity Data Model&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/1.png" width="955" height="660" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;2.&amp;nbsp;选择Generate from database&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/2.png" width="627" height="558" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;3.&amp;nbsp;选择需要生成代码的表&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/3.png" width="627" height="558" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;4.&amp;nbsp;右键单击emdx文件并选择Add Code Generation Item&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/4.png" width="336" height="319" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;5.&amp;nbsp;在弹出的Add New Item对话框中选择ADO.NET DbContext Generator&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/5.png" width="955" height="660" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;6.&amp;nbsp;在Solution Explorer中可以找到模版文件和生成的代码文件&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/snowdream/BlogImages/20110122/6.png" width="195" height="338" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://files.cnblogs.com/snowdream/Snowdream.Demo.EFCodeFirstStart.zip"&gt;示例下载&lt;/a&gt;(Visual Studio 2010)&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;div style="border-bottom: #3f84e4 1px dashed; border-left: #3f84e4 1px dashed; padding-bottom: 5px; background-color: #eef7fc; padding-left: 15px; padding-right: 15px; font-family: 微软雅黑; border-top: #3f84e4 1px dashed; border-right: #3f84e4 1px dashed; padding-top: 5px; span: "  font-family: 微软雅黑 ?&gt;本文适用于 ADO.NET Entity Framework Feature CTP5&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/1942145.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2011/01/22/entity-framework-feature-codefirst-create-database-and-model.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/snowdream/archive/2010/12/18/1909854.html</id><title type="text">赠送 MSDN 订阅激活卡</title><summary type="text">获得者不能以任何方式出售所获得的订阅卡，并且要遵守MSDN订阅相关协议和订阅卡上的说明。</summary><published>2010-12-18T04:52:00Z</published><updated>2010-12-18T04:52:00Z</updated><author><name>Snowdream</name><uri>http://www.cnblogs.com/snowdream/</uri></author><link rel="alternate" href="http://www.cnblogs.com/snowdream/archive/2010/12/18/1909854.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/snowdream/archive/2010/12/18/1909854.html"/><content type="html">&lt;p&gt;现在有Visual Studio 2010 Ultimate&amp;nbsp;activation card(s)可以赠送，订阅级别为 Visual Studio Ultimate with MSDN。如果您需要，可以通过电子邮件或回复本贴与我联系。我将选择1位或2位送出，不一定是最先回帖者获得，也不一定是技术最佳或博文发表最多者获得。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;请注意：您不能以任何方式出售所获得的订阅卡，并且要遵守MSDN订阅相关协议和订阅卡上的说明。&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;订阅卡上的部分说明:Please note this subscription is not-for-resale, and therefore carries some benefit restrictions. Technical support benefits and MSDN Magazine are not included, and all software benefits, including Microsoft Office 2010 products, are for development and test purposes only.&lt;/p&gt;&lt;img src="http://www.cnblogs.com/snowdream/aggbug/1909854.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/snowdream/archive/2010/12/18/1909854.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
