Browse Source

增加登录注册首页

gaga 7 years ago
parent
commit
f22c3365bf
78 changed files with 1329 additions and 96 deletions
  1. BIN
      .vs/PersonalBlog/v15/.suo
  2. BIN
      .vs/PersonalBlog/v15/Server/sqlite3/storage.ide
  3. BIN
      .vs/PersonalBlog/v15/Server/sqlite3/storage.ide-shm
  4. BIN
      .vs/PersonalBlog/v15/Server/sqlite3/storage.ide-wal
  5. 7 0
      .vs/VSWorkspaceState.json
  6. 1 1
      .vs/config/applicationhost.config
  7. BIN
      .vs/slnx.sqlite
  8. BIN
      PersonalBlog.v12.suo
  9. 12 0
      PersonalBlog/App_Code/ValidateCode.cs
  10. 22 0
      PersonalBlog/Controllers/HomeController.cs
  11. 5 0
      PersonalBlog/Controllers/ManageController.cs
  12. BIN
      PersonalBlog/Include/Images/hand.png
  13. BIN
      PersonalBlog/Include/Images/left-handing.png
  14. BIN
      PersonalBlog/Include/Images/left_hand.png
  15. BIN
      PersonalBlog/Include/Images/password.png
  16. BIN
      PersonalBlog/Include/Images/right_hand.png
  17. BIN
      PersonalBlog/Include/Images/right_handing.png
  18. BIN
      PersonalBlog/Include/Images/tou.png
  19. BIN
      PersonalBlog/Include/Images/username.png
  20. BIN
      PersonalBlog/Include/index_files/20171006090042.png
  21. BIN
      PersonalBlog/Include/index_files/986268-20171008131617262-669962488.png
  22. BIN
      PersonalBlog/Include/index_files/986268-20171008131743059-2041654400.png
  23. BIN
      PersonalBlog/Include/index_files/986268-20171008141924543-83812864.png
  24. BIN
      PersonalBlog/Include/index_files/986268-20171008142804449-1365078041.png
  25. BIN
      PersonalBlog/Include/index_files/986268-20171008152628137-1822001956.png
  26. BIN
      PersonalBlog/Include/index_files/986268-20171008154600293-2102653825.png
  27. BIN
      PersonalBlog/Include/index_files/986268-20171008160028168-279453182.png
  28. BIN
      PersonalBlog/Include/index_files/986268-20171008160042840-1811981568.png
  29. BIN
      PersonalBlog/Include/index_files/986268-20171008161520403-461772628.png
  30. BIN
      PersonalBlog/Include/index_files/986268-20171008161645074-795694026.png
  31. BIN
      PersonalBlog/Include/index_files/986268-20171008161847824-1898914116.png
  32. BIN
      PersonalBlog/Include/index_files/986268-20171008163129731-187741135.png
  33. BIN
      PersonalBlog/Include/index_files/986268-20171008163136028-442878028.png
  34. BIN
      PersonalBlog/Include/index_files/986268-20171008163700903-364460901.png
  35. BIN
      PersonalBlog/Include/index_files/986268-20171008164744871-1433274169.png
  36. BIN
      PersonalBlog/Include/index_files/986268-20171008164820637-1325993578.png
  37. BIN
      PersonalBlog/Include/index_files/986268-20171008164926528-395074708.png
  38. BIN
      PersonalBlog/Include/index_files/986268-20171008164933621-156662137.png
  39. BIN
      PersonalBlog/Include/index_files/ContractedBlock.gif
  40. BIN
      PersonalBlog/Include/index_files/ExpandedBlockStart.gif
  41. 19 0
      PersonalBlog/Include/index_files/MathJax.js.下载
  42. 59 0
      PersonalBlog/Include/index_files/analytics.js
  43. 59 0
      PersonalBlog/Include/index_files/analytics.js.下载
  44. 1 0
      PersonalBlog/Include/index_files/blog-common.css
  45. 1 0
      PersonalBlog/Include/index_files/blog-common.js
  46. 1 0
      PersonalBlog/Include/index_files/blog-common.js.下载
  47. 1 0
      PersonalBlog/Include/index_files/bundle-CodingLife-mobile.css
  48. 1 0
      PersonalBlog/Include/index_files/bundle-CodingLife.css
  49. BIN
      PersonalBlog/Include/index_files/copycode.gif
  50. 1 0
      PersonalBlog/Include/index_files/encoder.js.下载
  51. BIN
      PersonalBlog/Include/index_files/icon_weibo_24.png
  52. BIN
      PersonalBlog/Include/index_files/images/title-yellow.png
  53. 4 0
      PersonalBlog/Include/index_files/jquery.js
  54. 4 0
      PersonalBlog/Include/index_files/jquery.js.下载
  55. BIN
      PersonalBlog/Include/index_files/logo.gif
  56. BIN
      PersonalBlog/Include/index_files/wechat.png
  57. 49 4
      PersonalBlog/PersonalBlog.csproj
  58. 12 4
      PersonalBlog/PersonalBlog.csproj.user
  59. 75 0
      PersonalBlog/Views/Home/Blog.cshtml
  60. 82 0
      PersonalBlog/Views/Home/Index.cshtml
  61. 223 0
      PersonalBlog/Views/Manage/Login.cshtml
  62. 222 4
      PersonalBlog/Views/Manage/Register.cshtml
  63. 67 36
      PersonalBlog/Views/Shared/_Layout.cshtml
  64. 67 0
      PersonalBlog/Views/Shared/_SideBar.cshtml
  65. 14 3
      PersonalBlog/Web.config
  66. BIN
      PersonalBlog/bin/Newtonsoft.Json.dll
  67. 258 39
      PersonalBlog/bin/Newtonsoft.Json.xml
  68. BIN
      PersonalBlog/bin/PersonalBlog.dll
  69. 14 3
      PersonalBlog/bin/PersonalBlog.dll.config
  70. BIN
      PersonalBlog/bin/PersonalBlog.pdb
  71. BIN
      PersonalBlog/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
  72. 0 0
      PersonalBlog/obj/Debug/PersonalBlog.csproj.CopyComplete
  73. 1 1
      PersonalBlog/obj/Debug/PersonalBlog.csproj.CoreCompileInputs.cache
  74. 46 0
      PersonalBlog/obj/Debug/PersonalBlog.csproj.FileListAbsolute.txt
  75. BIN
      PersonalBlog/obj/Debug/PersonalBlog.csprojResolveAssemblyReference.cache
  76. BIN
      PersonalBlog/obj/Debug/PersonalBlog.dll
  77. BIN
      PersonalBlog/obj/Debug/PersonalBlog.pdb
  78. 1 1
      PersonalBlog/packages.config

BIN
.vs/PersonalBlog/v15/.suo


BIN
.vs/PersonalBlog/v15/Server/sqlite3/storage.ide


BIN
.vs/PersonalBlog/v15/Server/sqlite3/storage.ide-shm


BIN
.vs/PersonalBlog/v15/Server/sqlite3/storage.ide-wal


+ 7 - 0
.vs/VSWorkspaceState.json

@@ -0,0 +1,7 @@
+{
+  "ExpandedNodes": [
+    ""
+  ],
+  "SelectedNode": "\\PersonalBlog",
+  "PreviewInSolutionExplorer": false
+}

+ 1 - 1
.vs/config/applicationhost.config

@@ -162,7 +162,7 @@
             </site>
             <site name="PersonalBlog" id="2">
                 <application path="/" applicationPool="Clr4IntegratedAppPool">
-                    <virtualDirectory path="/" physicalPath="E:\project\PersonalPracticeProject\PersonalBlog\PersonalBlog" />
+                    <virtualDirectory path="/" physicalPath="E:\PersonalBlog\PersonalBlog" />
                 </application>
                 <bindings>
                     <binding protocol="http" bindingInformation="*:11517:localhost" />

BIN
.vs/slnx.sqlite


BIN
PersonalBlog.v12.suo


+ 12 - 0
PersonalBlog/App_Code/ValidateCode.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+
+namespace PersonalBlog.App_Code
+{
+    public class ValidateCode
+    {
+
+    }
+}

+ 22 - 0
PersonalBlog/Controllers/HomeController.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+
+namespace PersonalBlog.Controllers
+{
+    public class HomeController : Controller
+    {
+        // GET: Home
+        public ActionResult Index()
+        {
+            return View();
+        }
+
+        public ActionResult Blog()
+        {
+            return View();
+        }
+    }
+}

+ 5 - 0
PersonalBlog/Controllers/ManageController.cs

@@ -18,5 +18,10 @@ namespace PersonalBlog.Controllers
         {
             return View();
         }
+
+        public ActionResult Login()
+        {
+            return View();
+        }
     }
 }

BIN
PersonalBlog/Include/Images/hand.png


BIN
PersonalBlog/Include/Images/left-handing.png


BIN
PersonalBlog/Include/Images/left_hand.png


BIN
PersonalBlog/Include/Images/password.png


BIN
PersonalBlog/Include/Images/right_hand.png


BIN
PersonalBlog/Include/Images/right_handing.png


BIN
PersonalBlog/Include/Images/tou.png


BIN
PersonalBlog/Include/Images/username.png


BIN
PersonalBlog/Include/index_files/20171006090042.png


BIN
PersonalBlog/Include/index_files/986268-20171008131617262-669962488.png


BIN
PersonalBlog/Include/index_files/986268-20171008131743059-2041654400.png


BIN
PersonalBlog/Include/index_files/986268-20171008141924543-83812864.png


BIN
PersonalBlog/Include/index_files/986268-20171008142804449-1365078041.png


BIN
PersonalBlog/Include/index_files/986268-20171008152628137-1822001956.png


BIN
PersonalBlog/Include/index_files/986268-20171008154600293-2102653825.png


BIN
PersonalBlog/Include/index_files/986268-20171008160028168-279453182.png


BIN
PersonalBlog/Include/index_files/986268-20171008160042840-1811981568.png


BIN
PersonalBlog/Include/index_files/986268-20171008161520403-461772628.png


BIN
PersonalBlog/Include/index_files/986268-20171008161645074-795694026.png


BIN
PersonalBlog/Include/index_files/986268-20171008161847824-1898914116.png


BIN
PersonalBlog/Include/index_files/986268-20171008163129731-187741135.png


BIN
PersonalBlog/Include/index_files/986268-20171008163136028-442878028.png


BIN
PersonalBlog/Include/index_files/986268-20171008163700903-364460901.png


BIN
PersonalBlog/Include/index_files/986268-20171008164744871-1433274169.png


BIN
PersonalBlog/Include/index_files/986268-20171008164820637-1325993578.png


BIN
PersonalBlog/Include/index_files/986268-20171008164926528-395074708.png


BIN
PersonalBlog/Include/index_files/986268-20171008164933621-156662137.png


BIN
PersonalBlog/Include/index_files/ContractedBlock.gif


BIN
PersonalBlog/Include/index_files/ExpandedBlockStart.gif


File diff suppressed because it is too large
+ 19 - 0
PersonalBlog/Include/index_files/MathJax.js.下载


File diff suppressed because it is too large
+ 59 - 0
PersonalBlog/Include/index_files/analytics.js


File diff suppressed because it is too large
+ 59 - 0
PersonalBlog/Include/index_files/analytics.js.下载


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/blog-common.css


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/blog-common.js


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/blog-common.js.下载


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/bundle-CodingLife-mobile.css


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/bundle-CodingLife.css


BIN
PersonalBlog/Include/index_files/copycode.gif


File diff suppressed because it is too large
+ 1 - 0
PersonalBlog/Include/index_files/encoder.js.下载


BIN
PersonalBlog/Include/index_files/icon_weibo_24.png


BIN
PersonalBlog/Include/index_files/images/title-yellow.png


File diff suppressed because it is too large
+ 4 - 0
PersonalBlog/Include/index_files/jquery.js


File diff suppressed because it is too large
+ 4 - 0
PersonalBlog/Include/index_files/jquery.js.下载


BIN
PersonalBlog/Include/index_files/logo.gif


BIN
PersonalBlog/Include/index_files/wechat.png


+ 49 - 4
PersonalBlog/PersonalBlog.csproj

@@ -20,6 +20,8 @@
     <IISExpressAnonymousAuthentication />
     <IISExpressWindowsAuthentication />
     <IISExpressUseClassicPipelineMode />
+    <Use64BitIISExpress />
+    <UseGlobalApplicationHostFile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -40,6 +42,10 @@
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Microsoft.CSharp" />
+    <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
+      <Private>True</Private>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Data" />
     <Reference Include="System.Drawing" />
@@ -103,9 +109,6 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
-    <Reference Include="Newtonsoft.Json">
-      <HintPath>..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
-    </Reference>
     <Reference Include="EntityFramework">
       <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath>
     </Reference>
@@ -120,9 +123,11 @@
     </Reference>
   </ItemGroup>
   <ItemGroup>
+    <Content Include="App_Code\ValidateCode.cs" />
     <Compile Include="App_Start\BundleConfig.cs" />
     <Compile Include="App_Start\FilterConfig.cs" />
     <Compile Include="App_Start\RouteConfig.cs" />
+    <Compile Include="Controllers\HomeController.cs" />
     <Compile Include="Controllers\ManageController.cs" />
     <Compile Include="Global.asax.cs">
       <DependentUpon>Global.asax</DependentUpon>
@@ -499,9 +504,46 @@
     <Content Include="Include\EasyUI\themes\metro\validatebox.css" />
     <Content Include="Include\EasyUI\themes\metro\window.css" />
     <Content Include="Include\EasyUI\themes\mobile.css" />
+    <Content Include="Include\index_files\20171006090042.png" />
+    <Content Include="Include\index_files\986268-20171008131617262-669962488.png" />
+    <Content Include="Include\index_files\986268-20171008131743059-2041654400.png" />
+    <Content Include="Include\index_files\986268-20171008141924543-83812864.png" />
+    <Content Include="Include\index_files\986268-20171008142804449-1365078041.png" />
+    <Content Include="Include\index_files\986268-20171008152628137-1822001956.png" />
+    <Content Include="Include\index_files\986268-20171008154600293-2102653825.png" />
+    <Content Include="Include\index_files\986268-20171008160028168-279453182.png" />
+    <Content Include="Include\index_files\986268-20171008160042840-1811981568.png" />
+    <Content Include="Include\index_files\986268-20171008161520403-461772628.png" />
+    <Content Include="Include\index_files\986268-20171008161645074-795694026.png" />
+    <Content Include="Include\index_files\986268-20171008161847824-1898914116.png" />
+    <Content Include="Include\index_files\986268-20171008163129731-187741135.png" />
+    <Content Include="Include\index_files\986268-20171008163136028-442878028.png" />
+    <Content Include="Include\index_files\986268-20171008163700903-364460901.png" />
+    <Content Include="Include\index_files\986268-20171008164744871-1433274169.png" />
+    <Content Include="Include\index_files\986268-20171008164820637-1325993578.png" />
+    <Content Include="Include\index_files\986268-20171008164926528-395074708.png" />
+    <Content Include="Include\index_files\986268-20171008164933621-156662137.png" />
+    <Content Include="Include\index_files\analytics.js" />
+    <Content Include="Include\index_files\blog-common.css" />
+    <Content Include="Include\index_files\blog-common.js" />
+    <Content Include="Include\index_files\bundle-CodingLife-mobile.css" />
+    <Content Include="Include\index_files\bundle-CodingLife.css" />
+    <Content Include="Include\index_files\ContractedBlock.gif" />
+    <Content Include="Include\index_files\copycode.gif" />
+    <Content Include="Include\index_files\ExpandedBlockStart.gif" />
+    <Content Include="Include\index_files\icon_weibo_24.png" />
+    <Content Include="Include\index_files\images\title-yellow.png" />
+    <Content Include="Include\index_files\jquery.js" />
+    <Content Include="Include\index_files\logo.gif" />
+    <Content Include="Include\index_files\wechat.png" />
     <Content Include="Include\Scripts\bootstrap.js" />
     <Content Include="Include\Scripts\bootstrap.min.js" />
     <Content Include="Include\EasyUI\themes\material\images\Thumbs.db" />
+    <Content Include="Include\index_files\analytics.js.下载" />
+    <Content Include="Include\index_files\blog-common.js.下载" />
+    <Content Include="Include\index_files\encoder.js.下载" />
+    <Content Include="Include\index_files\jquery.js.下载" />
+    <Content Include="Include\index_files\MathJax.js.下载" />
     <None Include="Include\Scripts\jquery-1.10.2.intellisense.js" />
     <Content Include="Include\Scripts\jquery-1.10.2.js" />
     <Content Include="Include\Scripts\jquery-1.10.2.min.js" />
@@ -528,11 +570,14 @@
     <Content Include="Views\Shared\_LayoutPageManage.cshtml" />
     <Content Include="Views\Manage\Index.cshtml" />
     <Content Include="Views\Manage\Register.cshtml" />
+    <Content Include="Views\Manage\Login.cshtml" />
+    <Content Include="Views\Home\Index.cshtml" />
+    <Content Include="Views\Home\Blog.cshtml" />
+    <Content Include="Views\Shared\_SideBar.cshtml" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Models\" />
     <Folder Include="Views\Account\" />
-    <Folder Include="Views\Home\" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="packages.config" />

+ 12 - 4
PersonalBlog/PersonalBlog.csproj.user

@@ -2,13 +2,21 @@
 <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
-    <WebStackScaffolding_IsLayoutPageSelected>False</WebStackScaffolding_IsLayoutPageSelected>
-    <WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
+    <WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
+    <WebStackScaffolding_IsPartialViewSelected>True</WebStackScaffolding_IsPartialViewSelected>
     <WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
-    <WebStackScaffolding_LayoutPageFile>
-    </WebStackScaffolding_LayoutPageFile>
+    <WebStackScaffolding_LayoutPageFile>~/Views/Shared/_Layout.cshtml</WebStackScaffolding_LayoutPageFile>
     <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
     <WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
+    <UseIISExpress>true</UseIISExpress>
+    <Use64BitIISExpress />
+    <IISExpressSSLPort />
+    <IISExpressAnonymousAuthentication />
+    <IISExpressWindowsAuthentication />
+    <IISExpressUseClassicPipelineMode />
+    <UseGlobalApplicationHostFile />
+    <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
+    <Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
   </PropertyGroup>
   <ProjectExtensions>
     <VisualStudio>

File diff suppressed because it is too large
+ 75 - 0
PersonalBlog/Views/Home/Blog.cshtml


+ 82 - 0
PersonalBlog/Views/Home/Index.cshtml

@@ -0,0 +1,82 @@
+
+@{
+    ViewBag.Title = "Index";
+    Layout = "~/Views/Shared/_Layout.cshtml";
+}
+<body>
+    <!--done-->
+    <div class="day">
+        <div class="dayTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl00_ImageLink" href="http://www.cnblogs.com/cgzl/archive/2017/11/08.html">2017年11月8日</a>
+        </div>
+
+
+        <div class="postTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl00_DayList_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/cgzl/p/7799567.html">使用Identity Server 4建立Authorization Server (5)</a>
+        </div>
+        <div class="postCon">
+            <div class="c_b_p_desc">
+                摘要:
+                预备知识:&nbsp;http://www.cnblogs.com/cgzl/p/7746496.html
+                第一部分:&nbsp;http://www.cnblogs.com/cgzl/p/7780559.html
+                第二部分:&nbsp;http://www.cnblogs.com/cgzl/p/7788636.html 第三部<a href="http://www.cnblogs.com/cgzl/p/7799567.html" class="c_b_p_desc_readmore">阅读全文</a>
+            </div>
+        </div>
+        <div class="clear"></div>
+        <div class="postDesc">posted @@ 2017-11-08 10:58 solenovex 阅读(476) 评论(5)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=7799567" rel="nofollow">编辑</a></div>
+        <div class="clear"></div>
+
+    </div>
+    <div class="day">
+        <div class="dayTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl01_ImageLink" href="http://www.cnblogs.com/cgzl/archive/2017/11/07.html">2017年11月7日</a>
+        </div>
+
+
+        <div class="postTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl01_DayList_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/cgzl/p/7795121.html">使用Identity Server 4建立Authorization Server (4)</a>
+        </div>
+        <div class="postCon">
+            <div class="c_b_p_desc">
+                摘要:
+                预备知识:&nbsp;http://www.cnblogs.com/cgzl/p/7746496.html
+                第一部分:&nbsp;http://www.cnblogs.com/cgzl/p/7780559.html
+                第二部分:&nbsp;http://www.cnblogs.com/cgzl/p/7788636.html 第三部<a href="http://www.cnblogs.com/cgzl/p/7795121.html" class="c_b_p_desc_readmore">阅读全文</a>
+            </div>
+        </div>
+        <div class="clear"></div>
+        <div class="postDesc">posted @@ 2017-11-07 15:09 solenovex 阅读(463) 评论(12)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=7795121" rel="nofollow">编辑</a></div>
+        <div class="clear"></div>
+
+    </div>
+    <div class="day">
+        <div class="dayTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl02_ImageLink" href="http://www.cnblogs.com/cgzl/archive/2017/11/06.html">2017年11月6日</a>
+        </div>
+
+
+        <div class="postTitle">
+            <a id="homepage1_HomePageDays_DaysList_ctl02_DayList_TitleUrl_0" class="postTitle2" href="http://www.cnblogs.com/cgzl/p/7793241.html">使用Identity Server 4建立Authorization Server (3)</a>
+        </div>
+        <div class="postCon">
+            <div class="c_b_p_desc">
+                摘要:
+                预备知识:&nbsp;http://www.cnblogs.com/cgzl/p/7746496.html
+                第一部分:&nbsp;http://www.cnblogs.com/cgzl/p/7780559.html
+                第二部分:&nbsp;http://www.cnblogs.com/cgzl/p/7788636.html 上一部<a href="http://www.cnblogs.com/cgzl/p/7793241.html" class="c_b_p_desc_readmore">阅读全文</a>
+            </div>
+        </div>
+        <div class="clear"></div>
+        <div class="postDesc">posted @@ 2017-11-06 16:12 solenovex 阅读(445) 评论(4)  <a href="https://i.cnblogs.com/EditPosts.aspx?postid=7793241" rel="nofollow">编辑</a></div>
+        <div class="clear"></div>
+
+    </div>
+    <div class="topicListFooter">
+    <div id="nav_next_page">
+        <a href="http://www.cnblogs.com/cgzl/default.html?page=2">下一页</a>
+        </div>
+    </div>
+                
+
+
+</body>

+ 223 - 0
PersonalBlog/Views/Manage/Login.cshtml

@@ -0,0 +1,223 @@
+
+@{
+    Layout = null;
+}
+
+<!DOCTYPE html>
+
+<html>
+<head>
+    <meta name="viewport" content="width=device-width" />
+    <title>登录</title>
+    <script src="~/Include/Scripts/jquery-1.10.2.min.js"></script>
+    <STYLE>
+        body {
+            background: #ebebeb;
+            font-family: "Helvetica Neue","Hiragino Sans GB","Microsoft YaHei","\9ED1\4F53",Arial,sans-serif;
+            color: #222;
+            font-size: 12px;
+        }
+
+        * {
+            padding: 0px;
+            margin: 0px;
+        }
+
+        .top_div {
+            background: #008ead;
+            width: 100%;
+            height: 400px;
+        }
+
+        .ipt {
+            border: 1px solid #d3d3d3;
+            padding: 10px 10px;
+            width: 290px;
+            border-radius: 4px;
+            padding-left: 35px;
+            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
+            -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+            transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
+        }
+
+            .ipt:focus {
+                border-color: #66afe9;
+                outline: 0;
+                -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
+                box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)
+            }
+
+        .iptx {
+            border: 1px solid #d3d3d3;
+            padding: 10px 10px;
+            width: 190px;
+            border-radius: 4px;
+            padding-left: 25px;
+            margin-left: -110px;
+            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
+            -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+            transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
+        }
+
+        .u_logo {
+            background: url("/Include/images/username.png") no-repeat;
+            padding: 10px 10px;
+            position: absolute;
+            top: 43px;
+            left: 40px;
+        }
+
+        .p_logo {
+            background: url("/Include/images/password.png") no-repeat;
+            padding: 10px 10px;
+            position: absolute;
+            top: 12px;
+            left: 40px;
+        }
+
+        a {
+            text-decoration: none;
+        }
+
+        .tou {
+            background: url("/Include/images/tou.png") no-repeat;
+            width: 97px;
+            height: 92px;
+            position: absolute;
+            top: -87px;
+            left: 140px;
+        }
+
+        .left_hand {
+            background: url("/Include/images/left_hand.png") no-repeat;
+            width: 32px;
+            height: 37px;
+            position: absolute;
+            top: -38px;
+            left: 150px;
+        }
+
+        .right_hand {
+            background: url("/Include/images/right_hand.png") no-repeat;
+            width: 32px;
+            height: 37px;
+            position: absolute;
+            top: -38px;
+            right: -64px;
+        }
+
+        .initial_left_hand {
+            background: url("/Include/images/hand.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -12px;
+            left: 100px;
+        }
+
+        .initial_right_hand {
+            background: url("/Include/images/hand.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -12px;
+            right: -112px;
+        }
+
+        .left_handing {
+            background: url("/Include/images/left-handing.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -24px;
+            left: 139px;
+        }
+
+        .right_handinging {
+            background: url("/Include/images/right_handing.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -21px;
+            left: 210px;
+        }
+    </STYLE>
+
+    <SCRIPT type="text/javascript">
+        $(function(){
+	        //得到焦点
+	        $("#password").focus(function(){
+		        $("#left_hand").animate({
+			        left: "150",
+			        top: " -38"
+		        },{step: function(){
+			        if(parseInt($("#left_hand").css("left"))>140){
+				        $("#left_hand").attr("class","left_hand");
+			        }
+		        }}, 2000);
+		        $("#right_hand").animate({
+			        right: "-64",
+			        top: "-38px"
+		        },{step: function(){
+			        if(parseInt($("#right_hand").css("right"))> -70){
+				        $("#right_hand").attr("class","right_hand");
+			        }
+		        }}, 2000);
+	        });
+	        //失去焦点
+	        $("#password").blur(function(){
+		        $("#left_hand").attr("class","initial_left_hand");
+		        $("#left_hand").attr("style","left:100px;top:-12px;");
+		        $("#right_hand").attr("class","initial_right_hand");
+		        $("#right_hand").attr("style","right:-112px;top:-12px");
+	        });
+        });
+    </SCRIPT>
+
+</head>
+<BODY>
+    <DIV class="top_div"></DIV>
+    <DIV style="background: rgb(255, 255, 255); margin: -100px auto auto; border: 1px solid rgb(231, 231, 231); border-image: none; width: 400px; height: 245px; text-align: center;">
+        <DIV style="width: 165px; height: 96px; position: absolute;">
+            <DIV class="tou"></DIV>
+            <DIV class="initial_left_hand" id="left_hand"></DIV>
+            <DIV class="initial_right_hand" id="right_hand"></DIV>
+        </DIV>
+
+        <P style="padding: 30px 0px 10px; position: relative;">
+            <SPAN class="u_logo"></SPAN>         <INPUT class="ipt" type="text" placeholder="请输入用户名或邮箱" value="">
+        </P>
+        <P style="padding: 0px 0px 10px;position: relative;">
+            <SPAN class="p_logo"></SPAN>
+            <INPUT class="ipt" id="password" type="password" placeholder="请输入密码" value="">
+        </P>
+        <P style="padding: 0px 0px 10px;position: relative;">
+            <SPAN class="p_logo"></SPAN>
+            <INPUT class="iptx" id="password" placeholder="请输入验证码" value="">
+        </P>
+
+        <DIV style="height: 50px; line-height: 50px; margin-top: 30px; border-top-color: rgb(231, 231, 231); border-top-width: 1px; border-top-style: solid;">
+            <P style="margin: 0px 35px 20px 45px;">
+                <SPAN style="float: left;">
+                    <A style="color: rgb(204, 204, 204);"
+                       href="#">忘记密码?</A>
+                </SPAN>
+                <SPAN style="float: right;">
+                    <A style="color: rgb(204, 204, 204); margin-right: 10px;"
+                       href="#">注册</A>
+                    <A style="background: rgb(0, 142, 173); padding: 7px 10px; border-radius: 4px; border: 1px solid rgb(26, 117, 152); border-image: none; color: rgb(255, 255, 255); font-weight: bold;"
+                       href="#">登录</A>
+                </SPAN>
+            </P>
+        </DIV>
+    </DIV>
+
+    <div style="text-align:center;">
+
+    </div>
+</BODY>
+</html>

+ 222 - 4
PersonalBlog/Views/Manage/Register.cshtml

@@ -8,10 +8,228 @@
 <html>
 <head>
     <meta name="viewport" content="width=device-width" />
-    <title>Register</title>
+    <title>注册</title>
+    <script src="~/Include/Scripts/jquery-1.10.2.min.js"></script>
+    <STYLE>
+        body {
+            background: #ebebeb;
+            font-family: "Helvetica Neue","Hiragino Sans GB","Microsoft YaHei","\9ED1\4F53",Arial,sans-serif;
+            color: #222;
+            font-size: 12px;
+        }
+
+        * {
+            padding: 0px;
+            margin: 0px;
+        }
+
+        .top_div {
+            background: #008ead;
+            width: 100%;
+            height: 400px;
+        }
+
+        .ipt {
+            border: 1px solid #d3d3d3;
+            padding: 10px 10px;
+            width: 290px;
+            border-radius: 4px;
+            padding-left: 35px;
+            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
+            -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+            transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
+        }
+
+            .ipt:focus {
+                border-color: #66afe9;
+                outline: 0;
+                -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
+                box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)
+            }
+        .iptx {
+            border: 1px solid #d3d3d3;
+            padding: 10px 10px;
+            width: 190px;
+            border-radius: 4px;
+            padding-left: 25px;
+            margin-left:-110px;
+            -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
+            -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
+            -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
+            transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s
+        }
+        .u_logo {
+            background: url("/Include/images/username.png") no-repeat;
+            padding: 10px 10px;
+            position: absolute;
+            top: 43px;
+            left: 40px;
+        }
+
+        .p_logo {
+            background: url("/Include/images/password.png") no-repeat;
+            padding: 10px 10px;
+            position: absolute;
+            top: 12px;
+            left: 40px;
+        }
+
+        a {
+            text-decoration: none;
+        }
+
+        .tou {
+            background: url("/Include/images/tou.png") no-repeat;
+            width: 97px;
+            height: 92px;
+            position: absolute;
+            top: -87px;
+            left: 140px;
+        }
+
+        .left_hand {
+            background: url("/Include/images/left_hand.png") no-repeat;
+            width: 32px;
+            height: 37px;
+            position: absolute;
+            top: -38px;
+            left: 150px;
+        }
+
+        .right_hand {
+            background: url("/Include/images/right_hand.png") no-repeat;
+            width: 32px;
+            height: 37px;
+            position: absolute;
+            top: -38px;
+            right: -64px;
+        }
+
+        .initial_left_hand {
+            background: url("/Include/images/hand.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -12px;
+            left: 100px;
+        }
+
+        .initial_right_hand {
+            background: url("/Include/images/hand.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -12px;
+            right: -112px;
+        }
+
+        .left_handing {
+            background: url("/Include/images/left-handing.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -24px;
+            left: 139px;
+        }
+
+        .right_handinging {
+            background: url("/Include/images/right_handing.png") no-repeat;
+            width: 30px;
+            height: 20px;
+            position: absolute;
+            top: -21px;
+            left: 210px;
+        }
+    </STYLE>
+
+    <SCRIPT type="text/javascript">
+        $(function(){
+	        //得到焦点
+	        $("#password").focus(function(){
+		        $("#left_hand").animate({
+			        left: "150",
+			        top: " -38"
+		        },{step: function(){
+			        if(parseInt($("#left_hand").css("left"))>140){
+				        $("#left_hand").attr("class","left_hand");
+			        }
+		        }}, 2000);
+		        $("#right_hand").animate({
+			        right: "-64",
+			        top: "-38px"
+		        },{step: function(){
+			        if(parseInt($("#right_hand").css("right"))> -70){
+				        $("#right_hand").attr("class","right_hand");
+			        }
+		        }}, 2000);
+	        });
+	        //失去焦点
+	        $("#password").blur(function(){
+		        $("#left_hand").attr("class","initial_left_hand");
+		        $("#left_hand").attr("style","left:100px;top:-12px;");
+		        $("#right_hand").attr("class","initial_right_hand");
+		        $("#right_hand").attr("style","right:-112px;top:-12px");
+	        });
+        });
+    </SCRIPT>
+
 </head>
-<body>
-    <div> 
+<BODY>
+
+    <DIV class="top_div"></DIV>
+
+    <DIV style="background: rgb(255, 255, 255); margin: -100px auto auto; border: 1px solid rgb(231, 231, 231); border-image: none; width: 400px; height: 245px; text-align: center;">
+
+        <DIV style="width: 165px; height: 96px; position: absolute;">
+
+            <DIV class="tou"></DIV>
+
+            <DIV class="initial_left_hand" id="left_hand"></DIV>
+
+            <DIV class="initial_right_hand" id="right_hand"></DIV>
+        </DIV>
+
+        <P style="padding: 30px 0px 10px; position: relative;">
+            <SPAN class="u_logo"></SPAN>         <INPUT class="ipt" type="text" placeholder="请输入用户名或邮箱" value="">
+        </P>
+        <P style="padding: 0px 0px 10px;position: relative;">
+            <SPAN class="p_logo"></SPAN>
+            <INPUT class="ipt" id="password" type="password" placeholder="请输入密码" value="">
+        </P>
+        <P style="padding: 0px 0px 10px;position: relative;">
+            <SPAN class="p_logo"></SPAN>
+            <INPUT class="ipt" id="password" type="password" placeholder="请输入确认密码" value="">
+        </P>
+        <P style="padding: 0px 0px 10px;position: relative;">
+            <SPAN class="p_logo"></SPAN>
+            <INPUT class="iptx" id="password" placeholder="请输入验证码" value="">
+        </P>
+
+        <DIV style="height: 50px; line-height: 50px; margin-top: 30px; border-top-color: rgb(231, 231, 231); border-top-width: 1px; border-top-style: solid;">
+
+            <P style="margin: 0px 35px 20px 45px;">
+                <SPAN style="float: left;">
+                    <A style="color: rgb(204, 204, 204);"
+                       href="#">忘记密码?</A>
+                </SPAN>
+
+                <SPAN style="float: right;">
+                    <A style="color: rgb(204, 204, 204); margin-right: 10px;"
+                       href="#">登录</A>
+
+                    <A style="background: rgb(0, 142, 173); padding: 7px 10px; border-radius: 4px; border: 1px solid rgb(26, 117, 152); border-image: none; color: rgb(255, 255, 255); font-weight: bold;"
+                       href="#">注册</A>
+
+                </SPAN>
+            </P>
+        </DIV>
+    </DIV>
+
+    <div style="text-align:center;">
+
     </div>
-</body>
+</BODY>
 </html>

+ 67 - 36
PersonalBlog/Views/Shared/_Layout.cshtml

@@ -1,45 +1,76 @@
 <!DOCTYPE html>
 <html>
 <head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <meta charset="utf-8" />
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>@ViewBag.Title - 我的 ASP.NET 应用程序</title>
-    @Styles.Render("~/Content/css")
-    @Scripts.Render("~/bundles/modernizr")
-
+    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>solenovex - 博客园</title>
+    <link type="text/css" rel="stylesheet" href="/Include/index_files/blog-common.css">
+    <link id="MainCss" type="text/css" rel="stylesheet" href="/Include/index_files/bundle-CodingLife.css">
+    <link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet" href="/Include/index_files/bundle-CodingLife-mobile.css">
+    <link title="RSS" type="application/rss+xml" rel="alternate" href="http://www.cnblogs.com/cgzl/rss">
+    <link title="RSD" type="application/rsd+xml" rel="EditURI" href="http://www.cnblogs.com/cgzl/rsd.xml">
+    <link type="application/wlwmanifest+xml" rel="wlwmanifest" href="http://www.cnblogs.com/cgzl/wlwmanifest.xml">
+    <script async="" src="/Include/index_files/analytics.js"></script>
+    <script src="/Include/index_files/jquery.js" type="text/javascript"></script>
+    <script type="text/javascript">var currentBlogApp = 'cgzl', cb_enable_mathjax = true; var isLogined = false;</script>
+    <script src="/Include/index_files/blog-common.js" type="text/javascript"></script>
 </head>
 <body>
-    <div class="navbar navbar-inverse navbar-fixed-top">
-        <div class="container">
-            <div class="navbar-header">
-                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-                    <span class="icon-bar"></span>
-                    <span class="icon-bar"></span>
-                    <span class="icon-bar"></span>
-                </button>
-                @Html.ActionLink("应用程序名称", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
-            </div>
-            <div class="navbar-collapse collapse">
-                <ul class="nav navbar-nav">
-                    <li>@Html.ActionLink("主页", "Index", "Home")</li>
-                    <li>@Html.ActionLink("关于", "About", "Home")</li>
-                    <li>@Html.ActionLink("联系方式", "Contact", "Home")</li>
+    <a name="top"></a>
+    <!--done-->
+    <div id="home">
+        <div id="header">
+            <div id="blogTitle">
+                <a id="lnkBlogLogo" href="http://www.cnblogs.com/cgzl/"><img id="blogLogo" src="index_files/logo.gif" alt="返回主页"></a>
+                <!--done-->
+                <h1><a id="Header1_HeaderTitle" class="headermaintitle" href="http://www.cnblogs.com/cgzl/">草根专栏</a></h1>
+                <h2>一个.net/python/angular开发者的学习笔记</h2>
+            </div><!--end: blogTitle 博客的标题和副标题 -->
+            <div id="navigator">
+
+                <ul id="navList">
+                    <li><a id="blog_nav_sitehome" class="menu" href="http://www.cnblogs.com/">博客园</a></li>
+                    <li><a id="blog_nav_myhome" class="menu" href="http://www.cnblogs.com/cgzl/">首页</a></li>
+                    <li><a id="blog_nav_newpost" class="menu" rel="nofollow" href="https://i.cnblogs.com/EditPosts.aspx?opt=1">新随笔</a></li>
+                    <li><a id="blog_nav_contact" class="menu" rel="nofollow" href="https://msg.cnblogs.com/send/solenovex">联系</a></li>
+                    <li>
+                        <a id="blog_nav_rss" class="menu" href="http://www.cnblogs.com/cgzl/rss">订阅</a>
+                        <!--<a id="blog_nav_rss_image" class="aHeaderXML" href="http://www.cnblogs.com/cgzl/rss"><img src="//www.cnblogs.com/images/xml.gif" alt="订阅" /></a>-->
+                    </li>
+                    <li><a id="blog_nav_admin" class="menu" rel="nofollow" href="https://i.cnblogs.com/">管理</a></li>
                 </ul>
-                @Html.Partial("_LoginPartial")
-            </div>
-        </div>
-    </div>
-    <div class="container body-content">
-        @RenderBody()
-        <hr />
-        <footer>
-            <p>&copy; @DateTime.Now.Year - 我的 ASP.NET 应用程序</p>
-        </footer>
-    </div>
+                <div class="blogStats">
+
+                    <div id="blog_stats">
+                        <span id="stats_post_count">随笔 - 29&nbsp; </span>
+                        <span id="stats_article_count">文章 - 0&nbsp; </span>
+                        <span id="stats-comment_count">评论 - 135</span>
+                    </div>
+
+                </div><!--end: blogStats -->
+            </div><!--end: navigator 博客导航栏 -->
+        </div><!--end: header 头部 -->
+
+        <div id="main">
+            <div id="mainContent">
+                <div class="forFlow">
+                    @RenderBody()
+                </div><!--end: forFlow -->
+            </div><!--end: mainContent 主体内容容器-->
 
-    @Scripts.Render("~/bundles/jquery")
-    @Scripts.Render("~/bundles/bootstrap")
-    @RenderSection("scripts", required: false)
+            <div id="sideBar">
+                @*两种方式引入分部视图*@
+                @Html.Partial("~/Views/Shared/_SideBar.cshtml")
+                @*@Html.RenderPartial("~/Views/Shared/_SideBar.cshtml")*@
+            </div><!--end: sideBar 侧边栏容器 -->
+            <div class="clear"></div>
+        </div><!--end: main -->
+        <div class="clear"></div>
+        <div id="footer">
+            <!--done-->
+            Copyright ©@DateTime.Now gaga
+        </div><!--end: footer -->
+    </div><!--end: home 自定义的最大容器 -->
 </body>
 </html>

File diff suppressed because it is too large
+ 67 - 0
PersonalBlog/Views/Shared/_SideBar.cshtml


+ 14 - 3
PersonalBlog/Web.config

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   有关如何配置 ASP.NET 应用程序的详细信息,请访问
   http://go.microsoft.com/fwlink/?LinkId=301880
@@ -9,8 +9,7 @@
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
   </configSections>
   <connectionStrings>
-    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-PersonalBlog-20171116032327.mdf;Initial Catalog=aspnet-PersonalBlog-20171116032327;Integrated Security=True"
-      providerName="System.Data.SqlClient" />
+    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-PersonalBlog-20171116032327.mdf;Initial Catalog=aspnet-PersonalBlog-20171116032327;Integrated Security=True" providerName="System.Data.SqlClient" />
   </connectionStrings>
   <appSettings>
     <add key="webpages:Version" value="3.0.0.0" />
@@ -39,4 +38,16 @@
       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
     </providers>
   </entityFramework>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
 </configuration>

BIN
PersonalBlog/bin/Newtonsoft.Json.dll


+ 258 - 39
PersonalBlog/bin/Newtonsoft.Json.xml

@@ -23,12 +23,12 @@
         </member>
         <member name="T:Newtonsoft.Json.Bson.BsonReader">
             <summary>
-            Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
+            Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
             </summary>
         </member>
         <member name="T:Newtonsoft.Json.JsonReader">
             <summary>
-            Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
+            Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
             </summary>
         </member>
         <member name="M:Newtonsoft.Json.JsonReader.#ctor">
@@ -56,9 +56,9 @@
         </member>
         <member name="M:Newtonsoft.Json.JsonReader.ReadAsBytes">
             <summary>
-            Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
+            Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[].
             </summary>
-            <returns>A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns>
+            <returns>A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns>
         </member>
         <member name="M:Newtonsoft.Json.JsonReader.ReadAsDecimal">
             <summary>
@@ -303,10 +303,10 @@
         </member>
         <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsBytes">
             <summary>
-            Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
+            Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[].
             </summary>
             <returns>
-            A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
+            A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
             </returns>
         </member>
         <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDecimal">
@@ -383,7 +383,7 @@
         </member>
         <member name="T:Newtonsoft.Json.JsonWriter">
             <summary>
-            Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
             </summary>
         </member>
         <member name="M:Newtonsoft.Json.JsonWriter.#ctor">
@@ -463,6 +463,22 @@
             <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param>
             <param name="writeChildren">A flag indicating whether the current token's children should be written.</param>
         </member>
+        <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken,System.Object)">
+            <summary>
+            Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token and its value.
+            </summary>
+            <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param>
+            <param name="value">
+            The value to write.
+            A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:Newtonsoft.Json.JsonToken.PropertyName"/>.
+            A null value can be passed to the method for token's that don't have a value, e.g. <see cref="F:Newtonsoft.Json.JsonToken.StartObject"/>.</param>
+        </member>
+        <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken)">
+            <summary>
+            Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token.
+            </summary>
+            <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param>
+        </member>
         <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)">
             <summary>
             Writes the specified end token.
@@ -718,9 +734,9 @@
         </member>
         <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte[])">
             <summary>
-            Writes a <see cref="T:Byte[]"/> value.
+            Writes a <see cref="T:System.Byte"/>[] value.
             </summary>
-            <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
         </member>
         <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Uri)">
             <summary>
@@ -1000,9 +1016,9 @@
         </member>
         <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte[])">
             <summary>
-            Writes a <see cref="T:Byte[]"/> value.
+            Writes a <see cref="T:System.Byte"/>[] value.
             </summary>
-            <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
         </member>
         <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Guid)">
             <summary>
@@ -1024,7 +1040,7 @@
         </member>
         <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteObjectId(System.Byte[])">
             <summary>
-            Writes a <see cref="T:Byte[]"/> value that represents a BSON object id.
+            Writes a <see cref="T:System.Byte"/>[] value that represents a BSON object id.
             </summary>
             <param name="value">The Object ID value to write.</param>
         </member>
@@ -1887,6 +1903,17 @@
             </summary>
             <value>The collection's items converter.</value>
         </member>
+        <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterParameters">
+            <summary>
+            The parameter list to use when constructing the JsonConverter described by ItemConverterType.
+            If null, the default constructor is used.
+            When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+            </example>
+        </member>
         <member name="P:Newtonsoft.Json.JsonContainerAttribute.IsReference">
             <summary>
             Gets or sets a value that indicates whether to preserve object references.
@@ -2151,6 +2178,15 @@
             <param name="delimiter">The string delimiter character.</param>
             <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
         </member>
+        <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling)">
+            <summary>
+            Converts the <see cref="T:System.String"/> to its JSON string representation.
+            </summary>
+            <param name="value">The value to convert.</param>
+            <param name="delimiter">The string delimiter character.</param>
+            <param name="stringEscapeHandling">The string escape handling.</param>
+            <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
+        </member>
         <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Object)">
             <summary>
             Converts the <see cref="T:System.Object"/> to its JSON string representation.
@@ -2595,12 +2631,25 @@
             </summary>
             <param name="converterType">Type of the converter.</param>
         </member>
+        <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type,System.Object[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class.
+            </summary>
+            <param name="converterType">Type of the converter.</param>
+            <param name="converterParameters">Parameter list to use when constructing the JsonConverter.  Can be null.</param>
+        </member>
         <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType">
             <summary>
             Gets the type of the converter.
             </summary>
             <value>The type of the converter.</value>
         </member>
+        <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterParameters">
+            <summary>
+            The parameter list to use when constructing the JsonConverter described by ConverterType.  
+            If null, the default constructor is used.
+            </summary>
+        </member>
         <member name="T:Newtonsoft.Json.JsonConverterCollection">
             <summary>
             Represents a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
@@ -2746,6 +2795,17 @@
             </summary>
             <value>The collection's items converter.</value>
         </member>
+        <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterParameters">
+            <summary>
+            The parameter list to use when constructing the JsonConverter described by ItemConverterType.
+            If null, the default constructor is used.
+            When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
+            order, and type of these parameters.
+            </summary>
+            <example>
+            [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
+            </example>
+        </member>
         <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NullValueHandling">
             <summary>
             Gets or sets the null value handling used when serializing this property.
@@ -3396,10 +3456,10 @@
         </member>
         <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBytes">
             <summary>
-            Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
+            Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[].
             </summary>
             <returns>
-            A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
+            A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
             </returns>
         </member>
         <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDecimal">
@@ -3463,7 +3523,7 @@
         </member>
         <member name="T:Newtonsoft.Json.JsonTextWriter">
             <summary>
-            Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
             </summary>
         </member>
         <member name="M:Newtonsoft.Json.JsonTextWriter.#ctor(System.IO.TextWriter)">
@@ -3659,9 +3719,9 @@
         </member>
         <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte[])">
             <summary>
-            Writes a <see cref="T:Byte[]"/> value.
+            Writes a <see cref="T:System.Byte"/>[] value.
             </summary>
-            <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
         </member>
         <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTimeOffset)">
             <summary>
@@ -3834,10 +3894,10 @@
         </member>
         <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsBytes">
             <summary>
-            Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
+            Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[].
             </summary>
             <returns>
-            A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null.
+            A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null.
             </returns>
         </member>
         <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDecimal">
@@ -3975,7 +4035,15 @@
             </summary>
             <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every token in the source collection.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.Extensions.AncestorsAndSelf``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, the ancestors of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Descendants``1(System.Collections.Generic.IEnumerable{``0})">
             <summary>
@@ -3983,7 +4051,15 @@
             </summary>
             <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every token in the source collection.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.Extensions.DescendantsAndSelf``1(System.Collections.Generic.IEnumerable{``0})">
+            <summary>
+            Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection.
+            </summary>
+            <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam>
+            <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, and the descendants of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Properties(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject})">
             <summary>
@@ -3998,14 +4074,14 @@
             </summary>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
             <param name="key">The token key.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection with the given key.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection with the given key.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
             <summary>
             Returns a collection of child values of every object in the source collection.
             </summary>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)">
             <summary>
@@ -4014,7 +4090,7 @@
             <typeparam name="U">The type to convert the values to.</typeparam>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
             <param name="key">The token key.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection with the given key.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection with the given key.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
             <summary>
@@ -4022,7 +4098,7 @@
             </summary>
             <typeparam name="U">The type to convert the values to.</typeparam>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Value``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
             <summary>
@@ -4047,7 +4123,7 @@
             </summary>
             <typeparam name="T">The source collection type.</typeparam>
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.Children``2(System.Collections.Generic.IEnumerable{``0})">
             <summary>
@@ -4056,7 +4132,7 @@
             <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
             <typeparam name="U">The type to convert the values to.</typeparam>
             <typeparam name="T">The source collection type.</typeparam>
-            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection.</returns>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
             <summary>
@@ -4129,6 +4205,12 @@
             </summary>
             <returns>A collection of the ancestor tokens of this token.</returns>
         </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.AncestorsAndSelf">
+            <summary>
+            Returns a collection of tokens that contain this token, and the ancestors of this token.
+            </summary>
+            <returns>A collection of tokens that contain this token, and the ancestors of this token.</returns>
+        </member>
         <member name="M:Newtonsoft.Json.Linq.JToken.AfterSelf">
             <summary>
             Returns a collection of the sibling tokens after this token, in document order.
@@ -4422,7 +4504,7 @@
         </member>
         <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte[]">
             <summary>
-            Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte[]"/>.
+            Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>[].
             </summary>
             <param name="value">The value.</param>
             <returns>The result of the conversion.</returns>
@@ -4667,7 +4749,7 @@
         </member>
         <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte[])~Newtonsoft.Json.Linq.JToken">
             <summary>
-            Performs an implicit conversion from <see cref="T:System.Byte[]"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            Performs an implicit conversion from <see cref="T:System.Byte"/>[] to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
             </summary>
             <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
             <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
@@ -4849,6 +4931,52 @@
             </summary>
             <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
         </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.AddAnnotation(System.Object)">
+            <summary>
+            Adds an object to the annotation list of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="annotation">The annotation to add.</param>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.Annotation``1">
+            <summary>
+            Get the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of the annotation to retrieve.</typeparam>
+            <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.Annotation(System.Type)">
+            <summary>
+            Gets the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotation to retrieve.</param>
+            <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.Annotations``1">
+            <summary>
+            Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of the annotations to retrieve.</typeparam>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/>  that contains the annotations for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.Annotations(System.Type)">
+            <summary>
+            Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotations to retrieve.</param>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Object"/> that contains the annotations that match the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations``1">
+            <summary>
+            Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <typeparam name="T">The type of annotations to remove.</typeparam>
+        </member>
+        <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations(System.Type)">
+            <summary>
+            Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
+            </summary>
+            <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of annotations to remove.</param>
+        </member>
         <member name="P:Newtonsoft.Json.Linq.JToken.EqualityComparer">
             <summary>
             Gets a comparer that can compare two tokens for value equality.
@@ -4957,6 +5085,12 @@
             </summary>
             <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
         </member>
+        <member name="M:Newtonsoft.Json.Linq.JContainer.DescendantsAndSelf">
+            <summary>
+            Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order.
+            </summary>
+            <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing this token, and all the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
+        </member>
         <member name="M:Newtonsoft.Json.Linq.JContainer.Add(System.Object)">
             <summary>
             Adds the specified content as children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
@@ -5324,6 +5458,15 @@
             An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
             </returns>
         </member>
+        <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(Newtonsoft.Json.Linq.JEnumerable{`0})">
+            <summary>
+            Determines whether the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance.
+            </summary>
+            <param name="other">The <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> to compare with this instance.</param>
+            <returns>
+            	<c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
         <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(System.Object)">
             <summary>
             Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
@@ -6103,7 +6246,7 @@
         </member>
         <member name="T:Newtonsoft.Json.Linq.JTokenReader">
             <summary>
-            Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
+            Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
             </summary>
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenReader.#ctor(Newtonsoft.Json.Linq.JToken)">
@@ -6114,10 +6257,10 @@
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsBytes">
             <summary>
-            Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
+            Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[].
             </summary>
             <returns>
-            A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
+            A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
             </returns>
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDecimal">
@@ -6158,6 +6301,11 @@
             true if the next token was read successfully; false if there are no more tokens to read.
             </returns>
         </member>
+        <member name="P:Newtonsoft.Json.Linq.JTokenReader.CurrentToken">
+            <summary>
+            Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the reader's current position.
+            </summary>
+        </member>
         <member name="P:Newtonsoft.Json.Linq.JTokenReader.Path">
             <summary>
             Gets the path of the current JSON token. 
@@ -6260,7 +6408,7 @@
         </member>
         <member name="T:Newtonsoft.Json.Linq.JTokenWriter">
             <summary>
-            Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
+            Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
             </summary>
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor(Newtonsoft.Json.Linq.JContainer)">
@@ -6439,9 +6587,9 @@
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte[])">
             <summary>
-            Writes a <see cref="T:Byte[]"/> value.
+            Writes a <see cref="T:System.Byte"/>[] value.
             </summary>
-            <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
+            <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param>
         </member>
         <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.TimeSpan)">
             <summary>
@@ -6461,6 +6609,11 @@
             </summary>
             <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
         </member>
+        <member name="P:Newtonsoft.Json.Linq.JTokenWriter.CurrentToken">
+            <summary>
+            Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the writer's current position.
+            </summary>
+        </member>
         <member name="P:Newtonsoft.Json.Linq.JTokenWriter.Token">
             <summary>
             Gets the token being writen.
@@ -7207,9 +7360,9 @@
             </summary>
             <param name="shareCache">
             If set to <c>true</c> the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> will use a cached shared with other resolvers of the same type.
-            Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected
-            behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly
-            recommended to reuse <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> instances with the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
+            Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only
+            happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different
+            results. When set to false it is highly recommended to reuse <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> instances with the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
             </param>
         </member>
         <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type)">
@@ -7634,6 +7787,26 @@
             <param name="target">The target to get the value from.</param>
             <returns>The value.</returns>
         </member>
+        <member name="T:Newtonsoft.Json.Serialization.IAttributeProvider">
+            <summary>
+            Provides methods to get attributes.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Boolean)">
+            <summary>
+            Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+            </summary>
+            <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Type,System.Boolean)">
+            <summary>
+            Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+            </summary>
+            <param name="attributeType">The type of the attributes.</param>
+            <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
         <member name="T:Newtonsoft.Json.Serialization.JsonArrayContract">
             <summary>
             Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
@@ -7959,7 +8132,7 @@
         </member>
         <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator">
             <summary>
-            Gets or sets the function used to create the object. When set this function will override <see cref="P:DefaultCreator"/>.
+            Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>.
             This function is called with a collection of arguments which are defined by the <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"/> collection.
             </summary>
             <value>The function used to create the object.</value>
@@ -8028,6 +8201,12 @@
             </summary>
             <value>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.</value>
         </member>
+        <member name="P:Newtonsoft.Json.Serialization.JsonProperty.AttributeProvider">
+            <summary>
+            Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.
+            </summary>
+            <value>The <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.</value>
+        </member>
         <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyType">
             <summary>
             Gets or sets the type of the property.
@@ -8215,6 +8394,21 @@
             </summary>
             <param name="underlyingType">The underlying type for the contract.</param>
         </member>
+        <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.CreateJsonConverterInstance(System.Type,System.Object[])">
+            <summary>
+            Lookup and create an instance of the JsonConverter type described by the argument.
+            </summary>
+            <param name="converterType">The JsonConverter type to create.</param>
+            <param name="converterArgs">Optional arguments to pass to an initializing constructor of the JsonConverter.
+            If null, the default constructor is used.</param>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonConverterCreator(System.Type)">
+            <summary>
+            Create a factory function that can be used to create instances of a JsonConverter described by the 
+            argument type.  The returned function can then be used to either invoke the converter's default ctor, or any 
+            parameterized constructors by way of an object array.
+            </summary>
+        </member>
         <member name="T:Newtonsoft.Json.Serialization.MemoryTraceWriter">
             <summary>
             Represents a trace writer that writes to memory. When the trace message limit is
@@ -8269,6 +8463,31 @@
             When applied to a method, specifies that the method is called when an error occurs serializing an object.
             </summary>
         </member>
+        <member name="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider">
+            <summary>
+            Provides methods to get attributes from a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.#ctor(System.Object)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"/> class.
+            </summary>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Boolean)">
+            <summary>
+            Returns a collection of all of the attributes, or an empty collection if there are no attributes.
+            </summary>
+            <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
+        <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Type,System.Boolean)">
+            <summary>
+            Returns a collection of attributes, identified by type, or an empty collection if there are no attributes.
+            </summary>
+            <param name="attributeType">The type of the attributes.</param>
+            <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param>
+            <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns>
+        </member>
         <member name="T:Newtonsoft.Json.Serialization.ReflectionValueProvider">
             <summary>
             Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using reflection.

BIN
PersonalBlog/bin/PersonalBlog.dll


+ 14 - 3
PersonalBlog/bin/PersonalBlog.dll.config

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <!--
   有关如何配置 ASP.NET 应用程序的详细信息,请访问
   http://go.microsoft.com/fwlink/?LinkId=301880
@@ -9,8 +9,7 @@
     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
   </configSections>
   <connectionStrings>
-    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-PersonalBlog-20171116032327.mdf;Initial Catalog=aspnet-PersonalBlog-20171116032327;Integrated Security=True"
-      providerName="System.Data.SqlClient" />
+    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-PersonalBlog-20171116032327.mdf;Initial Catalog=aspnet-PersonalBlog-20171116032327;Integrated Security=True" providerName="System.Data.SqlClient" />
   </connectionStrings>
   <appSettings>
     <add key="webpages:Version" value="3.0.0.0" />
@@ -39,4 +38,16 @@
       <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
     </providers>
   </entityFramework>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
 </configuration>

BIN
PersonalBlog/bin/PersonalBlog.pdb


BIN
PersonalBlog/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache


+ 0 - 0
PersonalBlog/obj/Debug/PersonalBlog.csproj.CopyComplete


+ 1 - 1
PersonalBlog/obj/Debug/PersonalBlog.csproj.CoreCompileInputs.cache

@@ -1 +1 @@
-979794fe9986bf81a1eba90832af973b234b8e00
+8d64c0fe5538d6404cba5353258362c82e992823

+ 46 - 0
PersonalBlog/obj/Debug/PersonalBlog.csproj.FileListAbsolute.txt

@@ -43,3 +43,49 @@ E:\project\PersonalPracticeProject\PersonalBlog\PersonalBlog\bin\zh-Hans\Microso
 E:\project\PersonalPracticeProject\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.dll
 E:\project\PersonalPracticeProject\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.pdb
 E:\project\PersonalPracticeProject\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.csprojResolveAssemblyReference.cache
+E:\PersonalBlog\PersonalBlog\bin\PersonalBlog.dll.config
+E:\PersonalBlog\PersonalBlog\bin\PersonalBlog.dll
+E:\PersonalBlog\PersonalBlog\bin\PersonalBlog.pdb
+E:\PersonalBlog\PersonalBlog\bin\Antlr3.Runtime.dll
+E:\PersonalBlog\PersonalBlog\bin\EntityFramework.dll
+E:\PersonalBlog\PersonalBlog\bin\EntityFramework.SqlServer.dll
+E:\PersonalBlog\PersonalBlog\bin\Microsoft.AspNet.Identity.Core.dll
+E:\PersonalBlog\PersonalBlog\bin\Microsoft.AspNet.Identity.EntityFramework.dll
+E:\PersonalBlog\PersonalBlog\bin\Microsoft.Web.Infrastructure.dll
+E:\PersonalBlog\PersonalBlog\bin\Newtonsoft.Json.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Helpers.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Mvc.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Optimization.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Razor.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.Deployment.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.Razor.dll
+E:\PersonalBlog\PersonalBlog\bin\WebGrease.dll
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Helpers.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Mvc.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Optimization.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.Razor.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.Deployment.xml
+E:\PersonalBlog\PersonalBlog\bin\System.Web.WebPages.Razor.xml
+E:\PersonalBlog\PersonalBlog\bin\Antlr3.Runtime.pdb
+E:\PersonalBlog\PersonalBlog\bin\Newtonsoft.Json.xml
+E:\PersonalBlog\PersonalBlog\bin\EntityFramework.xml
+E:\PersonalBlog\PersonalBlog\bin\EntityFramework.SqlServer.xml
+E:\PersonalBlog\PersonalBlog\bin\Microsoft.AspNet.Identity.Core.xml
+E:\PersonalBlog\PersonalBlog\bin\Microsoft.AspNet.Identity.EntityFramework.xml
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.Helpers.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.Mvc.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.Optimization.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.Razor.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.WebPages.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.WebPages.Deployment.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\System.Web.WebPages.Razor.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\EntityFramework.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\EntityFramework.SqlServer.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\Microsoft.AspNet.Identity.Core.resources.dll
+E:\PersonalBlog\PersonalBlog\bin\zh-Hans\Microsoft.AspNet.Identity.EntityFramework.resources.dll
+E:\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.csprojResolveAssemblyReference.cache
+E:\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.csproj.CoreCompileInputs.cache
+E:\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.dll
+E:\PersonalBlog\PersonalBlog\obj\Debug\PersonalBlog.pdb

BIN
PersonalBlog/obj/Debug/PersonalBlog.csprojResolveAssemblyReference.cache


BIN
PersonalBlog/obj/Debug/PersonalBlog.dll


BIN
PersonalBlog/obj/Debug/PersonalBlog.pdb


+ 1 - 1
PersonalBlog/packages.config

@@ -21,7 +21,7 @@
   <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net45" />
   <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
   <package id="Modernizr" version="2.6.2" targetFramework="net45" />
-  <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" />
+  <package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" />
   <package id="Respond" version="1.2.0" targetFramework="net45" />
   <package id="WebGrease" version="1.5.2" targetFramework="net45" />
 </packages>