├── README.md ├── Simple_Sample ├── .nuget │ ├── NuGet.Config │ ├── NuGet.exe │ └── NuGet.targets ├── BlogSample.sln └── BlogSample │ ├── App_Data │ ├── Database1.mdf │ └── Database1_log.ldf │ ├── App_Start │ ├── BundleConfig.cs │ ├── FilterConfig.cs │ └── RouteConfig.cs │ ├── BlogSample.csproj │ ├── BlogSample.csproj.user │ ├── Content │ ├── PagedList.css │ ├── Site.css │ ├── bootstrap.css │ ├── bootstrap.min.css │ ├── jasny-bootstrap.css │ ├── jasny-bootstrap.css.map │ └── jasny-bootstrap.min.css │ ├── Controllers │ ├── HomeController.cs │ └── ZipCodeController.cs │ ├── FileUpload │ ├── 20140626154733990.xls │ ├── 20140626155037186.xls │ ├── 20140626155449287.xls │ ├── 20140626155659214.xls │ ├── 20140626160058511.xls │ ├── 20140627124250238.xls │ ├── 20140627144920167.xls │ └── 20140627144944514.xls │ ├── Global.asax │ ├── Global.asax.cs │ ├── Infrastructure │ ├── CustomResults │ │ └── ExportExcelResult.cs │ └── Helpers │ │ ├── CheckResult.cs │ │ └── ImportDataHelper.cs │ ├── Models │ ├── Model1.Context.cs │ ├── Model1.Context.tt │ ├── Model1.Designer.cs │ ├── Model1.cs │ ├── Model1.edmx │ ├── Model1.edmx.diagram │ ├── Model1.tt │ └── TaiwanZipCode.cs │ ├── Project_Readme.html │ ├── Properties │ ├── AssemblyInfo.cs │ └── PublishProfiles │ │ ├── SimpleExcelImportExport.pubxml │ │ └── SimpleExcelImportExport.pubxml.user │ ├── Scripts │ ├── _references.js │ ├── bootbox.js │ ├── bootstrap.js │ ├── bootstrap.min.js │ ├── jasny-bootstrap.js │ ├── jasny-bootstrap.min.js │ ├── jquery-1.10.2.intellisense.js │ ├── jquery-1.10.2.js │ ├── jquery-1.10.2.min.js │ ├── jquery-1.10.2.min.map │ ├── jquery.form.js │ ├── jquery.validate-vsdoc.js │ ├── jquery.validate.js │ ├── jquery.validate.min.js │ ├── jquery.validate.unobtrusive.js │ ├── jquery.validate.unobtrusive.min.js │ ├── modernizr-2.6.2.js │ ├── project.ZipCode.js │ ├── project.extends.js │ ├── project.js │ ├── respond.js │ └── respond.min.js │ ├── Views │ ├── Home │ │ ├── About.cshtml │ │ ├── Contact.cshtml │ │ └── Index.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ └── _Layout.cshtml │ ├── Web.config │ ├── ZipCode │ │ ├── Index.cshtml │ │ └── _UploadFile.cshtml │ └── _ViewStart.cshtml │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── bin │ ├── Antlr3.Runtime.dll │ ├── Antlr3.Runtime.pdb │ ├── BlogSample.dll │ ├── BlogSample.dll.config │ ├── BlogSample.pdb │ ├── ClosedXML.dll │ ├── ClosedXML.xml │ ├── DocumentFormat.OpenXml.dll │ ├── EntityFramework.SqlServer.dll │ ├── EntityFramework.SqlServer.xml │ ├── EntityFramework.dll │ ├── EntityFramework.xml │ ├── LinqToExcel.dll │ ├── LinqToExcel.xml │ ├── Microsoft.Web.Infrastructure.dll │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── PagedList.Mvc.dll │ ├── PagedList.Mvc.xml │ ├── PagedList.dll │ ├── PagedList.xml │ ├── Remotion.Data.Linq.dll │ ├── Remotion.Interfaces.dll │ ├── Remotion.dll │ ├── System.Web.Helpers.dll │ ├── System.Web.Helpers.xml │ ├── System.Web.Mvc.dll │ ├── System.Web.Mvc.xml │ ├── System.Web.Optimization.dll │ ├── System.Web.Optimization.xml │ ├── System.Web.Razor.dll │ ├── System.Web.Razor.xml │ ├── System.Web.WebPages.Deployment.dll │ ├── System.Web.WebPages.Deployment.xml │ ├── System.Web.WebPages.Razor.dll │ ├── System.Web.WebPages.Razor.xml │ ├── System.Web.WebPages.dll │ ├── System.Web.WebPages.xml │ ├── WebGrease.dll │ ├── log4net.dll │ └── zh-Hant │ │ ├── System.Web.Helpers.resources.dll │ │ ├── System.Web.Mvc.resources.dll │ │ ├── System.Web.Optimization.resources.dll │ │ ├── System.Web.Razor.resources.dll │ │ ├── System.Web.WebPages.Deployment.resources.dll │ │ ├── System.Web.WebPages.Razor.resources.dll │ │ └── System.Web.WebPages.resources.dll │ ├── favicon.ico │ ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ └── glyphicons-halflings-regular.woff │ ├── obj │ ├── Debug │ │ ├── BlogSample.csproj.FileListAbsolute.txt │ │ ├── BlogSample.csprojResolveAssemblyReference.cache │ │ ├── BlogSample.dll │ │ ├── BlogSample.pdb │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ ├── TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs │ │ ├── TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs │ │ ├── TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs │ │ └── edmxResourcesToEmbed │ │ │ └── Models │ │ │ ├── Model1.csdl │ │ │ ├── Model1.msl │ │ │ └── Model1.ssdl │ └── Release │ │ └── BlogSample.csprojResolveAssemblyReference.cache │ └── packages.config ├── Taiwan_ZipCode.xls └── Taiwan_ZipCode_Error.xls /README.md: -------------------------------------------------------------------------------- 1 | ## ASP.NET MVC Excel 匯入與匯出 - 程式範例 ## 2 | 3 | **Simple_Sample** 4 | 5 | [ASP.NET MVC Excel 匯入與匯出 - 簡單做] 程式範例 6 | 7 | 部落格文章連結: 8 | 9 | [ASP.NET MVC 匯入 Excel 簡單做 - Part.1 檔案上傳](http://kevintsengtw.blogspot.tw/2014/06/aspnet-mvc-excel-part1.html#.U60XnfmSwlQ) 10 | 11 | [ASP.NET MVC 匯入 Excel 簡單做 - Part.2 匯入資料](http://kevintsengtw.blogspot.tw/2014/06/aspnet-mvc-excel-part2.html#.U60XoPmSwlQ) 12 | 13 | [ASP.NET MVC 匯出 Excel 簡單做 - 使用 ClosedXML](http://kevintsengtw.blogspot.tw/2014/06/aspnet-mvc-excel-closedxml.html#.U60XpvmSwlQ) 14 | 15 | 開發環境:Visual Studio 2013 Update2, LocalDB 16 | 17 | 使用版本:ASP.NET MVC 5, ADO.NET Entity Framework 6.1.1 18 | 19 | 第三方套件:LinqToExcel, ClosedXML 20 | 21 | ================================================== 22 | 23 | 為了避免檔案過大,因此使用的套件皆無上傳,請自行還原,還原方式請參考以下連結 24 | 25 | [NuGet套件還原步驟使用Visual Studio 2012 為例 | demo小鋪](http://demo.tc/Post/763) 26 | -------------------------------------------------------------------------------- /Simple_Sample/.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Simple_Sample/.nuget/NuGet.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/.nuget/NuGet.exe -------------------------------------------------------------------------------- /Simple_Sample/.nuget/NuGet.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildProjectDirectory)\..\ 5 | 6 | 7 | false 8 | 9 | 10 | false 11 | 12 | 13 | true 14 | 15 | 16 | false 17 | 18 | 19 | 20 | 21 | 22 | 26 | 27 | 28 | 29 | 30 | $([System.IO.Path]::Combine($(SolutionDir), ".nuget")) 31 | 32 | 33 | 34 | 35 | $(SolutionDir).nuget 36 | 37 | 38 | 39 | $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config 40 | $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config 41 | 42 | 43 | 44 | $(MSBuildProjectDirectory)\packages.config 45 | $(PackagesProjectConfig) 46 | 47 | 48 | 49 | 50 | $(NuGetToolsPath)\NuGet.exe 51 | @(PackageSource) 52 | 53 | "$(NuGetExePath)" 54 | mono --runtime=v4.0.30319 "$(NuGetExePath)" 55 | 56 | $(TargetDir.Trim('\\')) 57 | 58 | -RequireConsent 59 | -NonInteractive 60 | 61 | "$(SolutionDir) " 62 | "$(SolutionDir)" 63 | 64 | 65 | $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir) 66 | $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols 67 | 68 | 69 | 70 | RestorePackages; 71 | $(BuildDependsOn); 72 | 73 | 74 | 75 | 76 | $(BuildDependsOn); 77 | BuildPackage; 78 | 79 | 80 | 81 | 82 | 83 | 84 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 99 | 100 | 103 | 104 | 105 | 106 | 108 | 109 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 141 | 142 | 143 | 144 | 145 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.30501.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BlogSample", "BlogSample\BlogSample.csproj", "{5671DE3C-22E9-4711-9D4E-F33410AE909E}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{A4CCB39C-DB9B-4D9B-94E5-08A78F2EDAEC}" 9 | ProjectSection(SolutionItems) = preProject 10 | .nuget\NuGet.Config = .nuget\NuGet.Config 11 | .nuget\NuGet.exe = .nuget\NuGet.exe 12 | .nuget\NuGet.targets = .nuget\NuGet.targets 13 | EndProjectSection 14 | EndProject 15 | Global 16 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 17 | Debug|Any CPU = Debug|Any CPU 18 | Release|Any CPU = Release|Any CPU 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {5671DE3C-22E9-4711-9D4E-F33410AE909E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 22 | {5671DE3C-22E9-4711-9D4E-F33410AE909E}.Debug|Any CPU.Build.0 = Debug|Any CPU 23 | {5671DE3C-22E9-4711-9D4E-F33410AE909E}.Release|Any CPU.ActiveCfg = Release|Any CPU 24 | {5671DE3C-22E9-4711-9D4E-F33410AE909E}.Release|Any CPU.Build.0 = Release|Any CPU 25 | EndGlobalSection 26 | GlobalSection(SolutionProperties) = preSolution 27 | HideSolutionNode = FALSE 28 | EndGlobalSection 29 | EndGlobal 30 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/App_Data/Database1.mdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/App_Data/Database1.mdf -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/App_Data/Database1_log.ldf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/App_Data/Database1_log.ldf -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/App_Start/BundleConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Optimization; 3 | 4 | namespace BlogSample 5 | { 6 | public class BundleConfig 7 | { 8 | // 如需「搭配」的詳細資訊,請瀏覽 http://go.microsoft.com/fwlink/?LinkId=301862 9 | public static void RegisterBundles(BundleCollection bundles) 10 | { 11 | bundles.Add(new ScriptBundle("~/bundles/jquery").Include( 12 | "~/Scripts/jquery-{version}.js")); 13 | 14 | bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( 15 | "~/Scripts/jquery.validate*")); 16 | 17 | // 使用開發版本的 Modernizr 進行開發並學習。然後,當您 18 | // 準備好實際執行時,請使用 http://modernizr.com 上的建置工具,只選擇您需要的測試。 19 | bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( 20 | "~/Scripts/modernizr-*")); 21 | 22 | bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( 23 | "~/Scripts/bootstrap.js", 24 | "~/Scripts/jasny-bootstrap.js", 25 | "~/Scripts/respond.js")); 26 | 27 | bundles.Add(new StyleBundle("~/Content/css").Include( 28 | "~/Content/bootstrap.css", 29 | "~/Content/jasny-bootstrap.css", 30 | "~/Content/site.css")); 31 | 32 | // 將 EnableOptimizations 設為 false 以進行偵錯。如需詳細資訊, 33 | // 請造訪 http://go.microsoft.com/fwlink/?LinkId=301862 34 | BundleTable.EnableOptimizations = true; 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/App_Start/FilterConfig.cs: -------------------------------------------------------------------------------- 1 | using System.Web; 2 | using System.Web.Mvc; 3 | 4 | namespace BlogSample 5 | { 6 | public class FilterConfig 7 | { 8 | public static void RegisterGlobalFilters(GlobalFilterCollection filters) 9 | { 10 | filters.Add(new HandleErrorAttribute()); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/App_Start/RouteConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Routing; 7 | 8 | namespace BlogSample 9 | { 10 | public class RouteConfig 11 | { 12 | public static void RegisterRoutes(RouteCollection routes) 13 | { 14 | routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 15 | 16 | routes.MapRoute( 17 | name: "Default", 18 | url: "{controller}/{action}/{id}", 19 | defaults: new { controller = "ZipCode", action = "Index", id = UrlParameter.Optional } 20 | ); 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/BlogSample.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | 8 | 9 | 2.0 10 | {5671DE3C-22E9-4711-9D4E-F33410AE909E} 11 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 12 | Library 13 | Properties 14 | BlogSample 15 | BlogSample 16 | v4.5.1 17 | false 18 | true 19 | 20 | 21 | 22 | 23 | ..\ 24 | true 25 | 26 | 27 | true 28 | full 29 | false 30 | bin\ 31 | DEBUG;TRACE 32 | prompt 33 | 4 34 | 35 | 36 | pdbonly 37 | true 38 | bin\ 39 | TRACE 40 | prompt 41 | 4 42 | 43 | 44 | 45 | ..\packages\ClosedXML.0.73.0\lib\net40-client\ClosedXML.dll 46 | 47 | 48 | True 49 | ..\packages\DocumentFormat.OpenXml.2.5\lib\DocumentFormat.OpenXml.dll 50 | 51 | 52 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.dll 53 | 54 | 55 | ..\packages\EntityFramework.6.1.1\lib\net45\EntityFramework.SqlServer.dll 56 | 57 | 58 | ..\packages\LinqToExcel.1.8.0\lib\LinqToExcel.dll 59 | 60 | 61 | ..\packages\LinqToExcel.1.8.0\lib\log4net.dll 62 | 63 | 64 | 65 | ..\packages\PagedList.1.17.0.0\lib\net40\PagedList.dll 66 | 67 | 68 | ..\packages\PagedList.Mvc.4.5.0.0\lib\net40\PagedList.Mvc.dll 69 | 70 | 71 | ..\packages\LinqToExcel.1.8.0\lib\Remotion.dll 72 | 73 | 74 | ..\packages\LinqToExcel.1.8.0\lib\Remotion.Data.Linq.dll 75 | 76 | 77 | ..\packages\LinqToExcel.1.8.0\lib\Remotion.Interfaces.dll 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | True 101 | ..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll 102 | 103 | 104 | 105 | 106 | 107 | 108 | True 109 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.Helpers.dll 110 | 111 | 112 | True 113 | ..\packages\Microsoft.AspNet.Mvc.5.1.2\lib\net45\System.Web.Mvc.dll 114 | 115 | 116 | ..\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll 117 | 118 | 119 | True 120 | ..\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\System.Web.Razor.dll 121 | 122 | 123 | True 124 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.dll 125 | 126 | 127 | True 128 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Deployment.dll 129 | 130 | 131 | True 132 | ..\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Razor.dll 133 | 134 | 135 | True 136 | ..\packages\WebGrease.1.5.2\lib\WebGrease.dll 137 | 138 | 139 | True 140 | ..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll 141 | 142 | 143 | 144 | 145 | ..\packages\Newtonsoft.Json.5.0.6\lib\net45\Newtonsoft.Json.dll 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | Global.asax 156 | 157 | 158 | 159 | 160 | 161 | True 162 | True 163 | Model1.Context.tt 164 | 165 | 166 | True 167 | True 168 | Model1.tt 169 | 170 | 171 | True 172 | True 173 | Model1.edmx 174 | 175 | 176 | Model1.tt 177 | 178 | 179 | 180 | 181 | 182 | 183 | Database1.mdf 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | EntityModelCodeGenerator 199 | Model1.Designer.cs 200 | 201 | 202 | TextTemplatingFileGenerator 203 | Model1.Context.cs 204 | Model1.edmx 205 | 206 | 207 | Model1.edmx 208 | 209 | 210 | TextTemplatingFileGenerator 211 | Model1.edmx 212 | Model1.cs 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | Web.config 237 | 238 | 239 | Web.config 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 10.0 267 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | True 280 | True 281 | 4718 282 | / 283 | http://localhost:4718/ 284 | False 285 | False 286 | 287 | 288 | False 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 此專案參照此電腦中缺少的 NuGet 套件。啟用「NuGet 套件還原」以便下載。如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的檔案為 {0}。 297 | 298 | 299 | 300 | 306 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/BlogSample.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 600 5 | True 6 | True 7 | False 8 | 9 | False 10 | 600 11 | BlogSample.Models.SampleEntities 12 | ShowAllFiles 13 | SimpleExcelImportExport 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | CurrentPage 22 | True 23 | False 24 | False 25 | False 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | True 35 | True 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Content/PagedList.css: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: inline-block; 3 | padding-left: 0; 4 | margin: 20px 0; 5 | border-radius: 4px; 6 | } 7 | 8 | .pagination > li { 9 | display: inline; 10 | } 11 | 12 | .pagination > li > a, 13 | .pagination > li > span { 14 | position: relative; 15 | float: left; 16 | padding: 6px 12px; 17 | margin-left: -1px; 18 | line-height: 1.428571429; 19 | text-decoration: none; 20 | background-color: #ffffff; 21 | border: 1px solid #dddddd; 22 | } 23 | 24 | .pagination > li:first-child > a, 25 | .pagination > li:first-child > span { 26 | margin-left: 0; 27 | border-bottom-left-radius: 4px; 28 | border-top-left-radius: 4px; 29 | } 30 | 31 | .pagination > li:last-child > a, 32 | .pagination > li:last-child > span { 33 | border-top-right-radius: 4px; 34 | border-bottom-right-radius: 4px; 35 | } 36 | 37 | .pagination > li > a:hover, 38 | .pagination > li > span:hover, 39 | .pagination > li > a:focus, 40 | .pagination > li > span:focus { 41 | background-color: #eeeeee; 42 | } 43 | 44 | .pagination > .active > a, 45 | .pagination > .active > span, 46 | .pagination > .active > a:hover, 47 | .pagination > .active > span:hover, 48 | .pagination > .active > a:focus, 49 | .pagination > .active > span:focus { 50 | z-index: 2; 51 | color: #ffffff; 52 | cursor: default; 53 | background-color: #428bca; 54 | border-color: #428bca; 55 | } 56 | 57 | .pagination > .disabled > span, 58 | .pagination > .disabled > a, 59 | .pagination > .disabled > a:hover, 60 | .pagination > .disabled > a:focus { 61 | color: #999999; 62 | cursor: not-allowed; 63 | background-color: #ffffff; 64 | border-color: #dddddd; 65 | } 66 | 67 | .pagination-lg > li > a, 68 | .pagination-lg > li > span { 69 | padding: 10px 16px; 70 | font-size: 18px; 71 | } 72 | 73 | .pagination-lg > li:first-child > a, 74 | .pagination-lg > li:first-child > span { 75 | border-bottom-left-radius: 6px; 76 | border-top-left-radius: 6px; 77 | } 78 | 79 | .pagination-lg > li:last-child > a, 80 | .pagination-lg > li:last-child > span { 81 | border-top-right-radius: 6px; 82 | border-bottom-right-radius: 6px; 83 | } 84 | 85 | .pagination-sm > li > a, 86 | .pagination-sm > li > span { 87 | padding: 5px 10px; 88 | font-size: 12px; 89 | } 90 | 91 | .pagination-sm > li:first-child > a, 92 | .pagination-sm > li:first-child > span { 93 | border-bottom-left-radius: 3px; 94 | border-top-left-radius: 3px; 95 | } 96 | 97 | .pagination-sm > li:last-child > a, 98 | .pagination-sm > li:last-child > span { 99 | border-top-right-radius: 3px; 100 | border-bottom-right-radius: 3px; 101 | } 102 | 103 | .pager { 104 | padding-left: 0; 105 | margin: 20px 0; 106 | text-align: center; 107 | list-style: none; 108 | } 109 | 110 | .pager:before, 111 | .pager:after { 112 | display: table; 113 | content: " "; 114 | } 115 | 116 | .pager:after { 117 | clear: both; 118 | } 119 | 120 | .pager:before, 121 | .pager:after { 122 | display: table; 123 | content: " "; 124 | } 125 | 126 | .pager:after { 127 | clear: both; 128 | } 129 | 130 | .pager li { 131 | display: inline; 132 | } 133 | 134 | .pager li > a, 135 | .pager li > span { 136 | display: inline-block; 137 | padding: 5px 14px; 138 | background-color: #ffffff; 139 | border: 1px solid #dddddd; 140 | border-radius: 15px; 141 | } 142 | 143 | .pager li > a:hover, 144 | .pager li > a:focus { 145 | text-decoration: none; 146 | background-color: #eeeeee; 147 | } 148 | 149 | .pager .next > a, 150 | .pager .next > span { 151 | float: right; 152 | } 153 | 154 | .pager .previous > a, 155 | .pager .previous > span { 156 | float: left; 157 | } 158 | 159 | .pager .disabled > a, 160 | .pager .disabled > a:hover, 161 | .pager .disabled > a:focus, 162 | .pager .disabled > span { 163 | color: #999999; 164 | cursor: not-allowed; 165 | background-color: #ffffff; 166 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Content/Site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Set padding to keep content from hitting the edges */ 7 | .body-content { 8 | padding-left: 15px; 9 | padding-right: 15px; 10 | } 11 | 12 | /* Set width on the form input elements since they're 100% wide by default */ 13 | input, 14 | select, 15 | textarea { 16 | max-width: 280px; 17 | } 18 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Content/jasny-bootstrap.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap) 3 | * Copyright 2012-2014 Arnold Daniels 4 | * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .container-smooth { 8 | max-width: 1170px; 9 | } 10 | @media (min-width: 1px) { 11 | .container-smooth { 12 | width: auto; 13 | } 14 | } 15 | .btn-labeled { 16 | padding-top: 0; 17 | padding-bottom: 0; 18 | } 19 | .btn-label { 20 | position: relative; 21 | left: -12px; 22 | display: inline-block; 23 | padding: 6px 12px; 24 | background: transparent; 25 | background: rgba(0, 0, 0, .15); 26 | border-radius: 3px 0 0 3px; 27 | } 28 | .btn-label.btn-label-right { 29 | right: -12px; 30 | left: auto; 31 | border-radius: 0 3px 3px 0; 32 | } 33 | .btn-lg .btn-label { 34 | left: -16px; 35 | padding: 10px 16px; 36 | border-radius: 5px 0 0 5px; 37 | } 38 | .btn-lg .btn-label.btn-label-right { 39 | right: -16px; 40 | left: auto; 41 | border-radius: 0 5px 5px 0; 42 | } 43 | .btn-sm .btn-label { 44 | left: -10px; 45 | padding: 5px 10px; 46 | border-radius: 2px 0 0 2px; 47 | } 48 | .btn-sm .btn-label.btn-label-right { 49 | right: -10px; 50 | left: auto; 51 | border-radius: 0 2px 2px 0; 52 | } 53 | .btn-xs .btn-label { 54 | left: -5px; 55 | padding: 1px 5px; 56 | border-radius: 2px 0 0 2px; 57 | } 58 | .btn-xs .btn-label.btn-label-right { 59 | right: -5px; 60 | left: auto; 61 | border-radius: 0 2px 2px 0; 62 | } 63 | .nav-tabs-bottom { 64 | border-top: 1px solid #ddd; 65 | border-bottom: 0; 66 | } 67 | .nav-tabs-bottom > li { 68 | margin-top: -1px; 69 | margin-bottom: 0; 70 | } 71 | .nav-tabs-bottom > li > a { 72 | border-radius: 0 0 4px 4px; 73 | } 74 | .nav-tabs-bottom > li > a:hover, 75 | .nav-tabs-bottom > li > a:focus, 76 | .nav-tabs-bottom > li.active > a, 77 | .nav-tabs-bottom > li.active > a:hover, 78 | .nav-tabs-bottom > li.active > a:focus { 79 | border: 1px solid #ddd; 80 | border-top-color: transparent; 81 | } 82 | .nav-tabs-left { 83 | border-right: 1px solid #ddd; 84 | border-bottom: 0; 85 | } 86 | .nav-tabs-left > li { 87 | float: none; 88 | margin-right: -1px; 89 | margin-bottom: 0; 90 | } 91 | .nav-tabs-left > li > a { 92 | margin-right: 0; 93 | margin-bottom: 2px; 94 | border-radius: 4px 0 0 4px; 95 | } 96 | .nav-tabs-left > li > a:hover, 97 | .nav-tabs-left > li > a:focus, 98 | .nav-tabs-left > li.active > a, 99 | .nav-tabs-left > li.active > a:hover, 100 | .nav-tabs-left > li.active > a:focus { 101 | border: 1px solid #ddd; 102 | border-right-color: transparent; 103 | } 104 | .row > .nav-tabs-left { 105 | position: relative; 106 | z-index: 1; 107 | padding-right: 0; 108 | padding-left: 15px; 109 | margin-right: -1px; 110 | } 111 | .row > .nav-tabs-left + .tab-content { 112 | border-left: 1px solid #ddd; 113 | } 114 | .nav-tabs-right { 115 | border-bottom: 0; 116 | border-left: 1px solid #ddd; 117 | } 118 | .nav-tabs-right > li { 119 | float: none; 120 | margin-bottom: 0; 121 | margin-left: -1px; 122 | } 123 | .nav-tabs-right > li > a { 124 | margin-bottom: 2px; 125 | margin-left: 0; 126 | border-radius: 0 4px 4px 0; 127 | } 128 | .nav-tabs-right > li > a:hover, 129 | .nav-tabs-right > li > a:focus, 130 | .nav-tabs-right > li.active > a, 131 | .nav-tabs-right > li.active > a:hover, 132 | .nav-tabs-right > li.active > a:focus { 133 | border: 1px solid #ddd; 134 | border-left-color: transparent; 135 | } 136 | .row > .nav-tabs-right { 137 | padding-right: 15px; 138 | padding-left: 0; 139 | } 140 | .navmenu, 141 | .navbar-offcanvas { 142 | width: 300px; 143 | height: auto; 144 | border-style: solid; 145 | border-width: 1px; 146 | border-radius: 4px; 147 | } 148 | .navmenu-fixed-left, 149 | .navmenu-fixed-right, 150 | .navbar-offcanvas { 151 | position: fixed; 152 | top: 0; 153 | bottom: 0; 154 | z-index: 1030; 155 | overflow-y: auto; 156 | border-radius: 0; 157 | } 158 | .navmenu-fixed-left, 159 | .navbar-offcanvas.navmenu-fixed-left { 160 | right: auto; 161 | left: 0; 162 | border-width: 0 1px 0 0; 163 | } 164 | .navmenu-fixed-right, 165 | .navbar-offcanvas { 166 | right: 0; 167 | left: auto; 168 | border-width: 0 0 0 1px; 169 | } 170 | .navmenu-nav { 171 | margin-bottom: 10px; 172 | } 173 | .navmenu-nav.dropdown-menu { 174 | position: static; 175 | float: none; 176 | padding-top: 0; 177 | margin: 0; 178 | border: none; 179 | border-radius: 0; 180 | -webkit-box-shadow: none; 181 | box-shadow: none; 182 | } 183 | .navbar-offcanvas .navbar-nav { 184 | margin: 0; 185 | } 186 | @media (min-width: 768px) { 187 | .navbar-offcanvas { 188 | width: auto; 189 | border-top: 0; 190 | box-shadow: none; 191 | } 192 | .navbar-offcanvas.offcanvas { 193 | position: static; 194 | display: block !important; 195 | height: auto !important; 196 | padding-bottom: 0; 197 | overflow: visible !important; 198 | } 199 | .navbar-offcanvas .navbar-nav.navbar-left:first-child { 200 | margin-left: -15px; 201 | } 202 | .navbar-offcanvas .navbar-nav.navbar-right:last-child { 203 | margin-right: -15px; 204 | } 205 | .navbar-offcanvas .navmenu-brand { 206 | display: none; 207 | } 208 | } 209 | .navmenu-brand { 210 | display: block; 211 | padding: 10px 15px; 212 | margin: 10px 0; 213 | font-size: 18px; 214 | line-height: 20px; 215 | } 216 | .navmenu-brand:hover, 217 | .navmenu-brand:focus { 218 | text-decoration: none; 219 | } 220 | .navmenu-default, 221 | .navbar-default .navbar-offcanvas { 222 | background-color: #f8f8f8; 223 | border-color: #e7e7e7; 224 | } 225 | .navmenu-default .navmenu-brand, 226 | .navbar-default .navbar-offcanvas .navmenu-brand { 227 | color: #777; 228 | } 229 | .navmenu-default .navmenu-brand:hover, 230 | .navbar-default .navbar-offcanvas .navmenu-brand:hover, 231 | .navmenu-default .navmenu-brand:focus, 232 | .navbar-default .navbar-offcanvas .navmenu-brand:focus { 233 | color: #5e5e5e; 234 | background-color: transparent; 235 | } 236 | .navmenu-default .navmenu-text, 237 | .navbar-default .navbar-offcanvas .navmenu-text { 238 | color: #777; 239 | } 240 | .navmenu-default .navmenu-nav > .dropdown > a:hover .caret, 241 | .navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a:hover .caret, 242 | .navmenu-default .navmenu-nav > .dropdown > a:focus .caret, 243 | .navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a:focus .caret { 244 | border-top-color: #333; 245 | border-bottom-color: #333; 246 | } 247 | .navmenu-default .navmenu-nav > .open > a, 248 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a, 249 | .navmenu-default .navmenu-nav > .open > a:hover, 250 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a:hover, 251 | .navmenu-default .navmenu-nav > .open > a:focus, 252 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a:focus { 253 | color: #555; 254 | background-color: #e7e7e7; 255 | } 256 | .navmenu-default .navmenu-nav > .open > a .caret, 257 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a .caret, 258 | .navmenu-default .navmenu-nav > .open > a:hover .caret, 259 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a:hover .caret, 260 | .navmenu-default .navmenu-nav > .open > a:focus .caret, 261 | .navbar-default .navbar-offcanvas .navmenu-nav > .open > a:focus .caret { 262 | border-top-color: #555; 263 | border-bottom-color: #555; 264 | } 265 | .navmenu-default .navmenu-nav > .dropdown > a .caret, 266 | .navbar-default .navbar-offcanvas .navmenu-nav > .dropdown > a .caret { 267 | border-top-color: #777; 268 | border-bottom-color: #777; 269 | } 270 | .navmenu-default .navmenu-nav.dropdown-menu, 271 | .navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu { 272 | background-color: #e7e7e7; 273 | } 274 | .navmenu-default .navmenu-nav.dropdown-menu > .divider, 275 | .navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .divider { 276 | background-color: #f8f8f8; 277 | } 278 | .navmenu-default .navmenu-nav.dropdown-menu > .active > a, 279 | .navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a, 280 | .navmenu-default .navmenu-nav.dropdown-menu > .active > a:hover, 281 | .navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:hover, 282 | .navmenu-default .navmenu-nav.dropdown-menu > .active > a:focus, 283 | .navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:focus { 284 | background-color: #d7d7d7; 285 | } 286 | .navmenu-default .navmenu-nav > li > a, 287 | .navbar-default .navbar-offcanvas .navmenu-nav > li > a { 288 | color: #777; 289 | } 290 | .navmenu-default .navmenu-nav > li > a:hover, 291 | .navbar-default .navbar-offcanvas .navmenu-nav > li > a:hover, 292 | .navmenu-default .navmenu-nav > li > a:focus, 293 | .navbar-default .navbar-offcanvas .navmenu-nav > li > a:focus { 294 | color: #333; 295 | background-color: transparent; 296 | } 297 | .navmenu-default .navmenu-nav > .active > a, 298 | .navbar-default .navbar-offcanvas .navmenu-nav > .active > a, 299 | .navmenu-default .navmenu-nav > .active > a:hover, 300 | .navbar-default .navbar-offcanvas .navmenu-nav > .active > a:hover, 301 | .navmenu-default .navmenu-nav > .active > a:focus, 302 | .navbar-default .navbar-offcanvas .navmenu-nav > .active > a:focus { 303 | color: #555; 304 | background-color: #e7e7e7; 305 | } 306 | .navmenu-default .navmenu-nav > .disabled > a, 307 | .navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a, 308 | .navmenu-default .navmenu-nav > .disabled > a:hover, 309 | .navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a:hover, 310 | .navmenu-default .navmenu-nav > .disabled > a:focus, 311 | .navbar-default .navbar-offcanvas .navmenu-nav > .disabled > a:focus { 312 | color: #ccc; 313 | background-color: transparent; 314 | } 315 | .navmenu-inverse, 316 | .navbar-inverse .navbar-offcanvas { 317 | background-color: #222; 318 | border-color: #080808; 319 | } 320 | .navmenu-inverse .navmenu-brand, 321 | .navbar-inverse .navbar-offcanvas .navmenu-brand { 322 | color: #999; 323 | } 324 | .navmenu-inverse .navmenu-brand:hover, 325 | .navbar-inverse .navbar-offcanvas .navmenu-brand:hover, 326 | .navmenu-inverse .navmenu-brand:focus, 327 | .navbar-inverse .navbar-offcanvas .navmenu-brand:focus { 328 | color: #fff; 329 | background-color: transparent; 330 | } 331 | .navmenu-inverse .navmenu-text, 332 | .navbar-inverse .navbar-offcanvas .navmenu-text { 333 | color: #999; 334 | } 335 | .navmenu-inverse .navmenu-nav > .dropdown > a:hover .caret, 336 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a:hover .caret, 337 | .navmenu-inverse .navmenu-nav > .dropdown > a:focus .caret, 338 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a:focus .caret { 339 | border-top-color: #fff; 340 | border-bottom-color: #fff; 341 | } 342 | .navmenu-inverse .navmenu-nav > .open > a, 343 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a, 344 | .navmenu-inverse .navmenu-nav > .open > a:hover, 345 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:hover, 346 | .navmenu-inverse .navmenu-nav > .open > a:focus, 347 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:focus { 348 | color: #fff; 349 | background-color: #080808; 350 | } 351 | .navmenu-inverse .navmenu-nav > .open > a .caret, 352 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a .caret, 353 | .navmenu-inverse .navmenu-nav > .open > a:hover .caret, 354 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:hover .caret, 355 | .navmenu-inverse .navmenu-nav > .open > a:focus .caret, 356 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .open > a:focus .caret { 357 | border-top-color: #fff; 358 | border-bottom-color: #fff; 359 | } 360 | .navmenu-inverse .navmenu-nav > .dropdown > a .caret, 361 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .dropdown > a .caret { 362 | border-top-color: #999; 363 | border-bottom-color: #999; 364 | } 365 | .navmenu-inverse .navmenu-nav.dropdown-menu, 366 | .navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu { 367 | background-color: #080808; 368 | } 369 | .navmenu-inverse .navmenu-nav.dropdown-menu > .divider, 370 | .navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .divider { 371 | background-color: #222; 372 | } 373 | .navmenu-inverse .navmenu-nav.dropdown-menu > .active > a, 374 | .navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a, 375 | .navmenu-inverse .navmenu-nav.dropdown-menu > .active > a:hover, 376 | .navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:hover, 377 | .navmenu-inverse .navmenu-nav.dropdown-menu > .active > a:focus, 378 | .navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu > .active > a:focus { 379 | background-color: #000; 380 | } 381 | .navmenu-inverse .navmenu-nav > li > a, 382 | .navbar-inverse .navbar-offcanvas .navmenu-nav > li > a { 383 | color: #999; 384 | } 385 | .navmenu-inverse .navmenu-nav > li > a:hover, 386 | .navbar-inverse .navbar-offcanvas .navmenu-nav > li > a:hover, 387 | .navmenu-inverse .navmenu-nav > li > a:focus, 388 | .navbar-inverse .navbar-offcanvas .navmenu-nav > li > a:focus { 389 | color: #fff; 390 | background-color: transparent; 391 | } 392 | .navmenu-inverse .navmenu-nav > .active > a, 393 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a, 394 | .navmenu-inverse .navmenu-nav > .active > a:hover, 395 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:hover, 396 | .navmenu-inverse .navmenu-nav > .active > a:focus, 397 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .active > a:focus { 398 | color: #fff; 399 | background-color: #080808; 400 | } 401 | .navmenu-inverse .navmenu-nav > .disabled > a, 402 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a, 403 | .navmenu-inverse .navmenu-nav > .disabled > a:hover, 404 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a:hover, 405 | .navmenu-inverse .navmenu-nav > .disabled > a:focus, 406 | .navbar-inverse .navbar-offcanvas .navmenu-nav > .disabled > a:focus { 407 | color: #444; 408 | background-color: transparent; 409 | } 410 | .alert-fixed-top, 411 | .alert-fixed-bottom { 412 | position: fixed; 413 | left: 0; 414 | z-index: 1035; 415 | width: 100%; 416 | margin: 0; 417 | border-radius: 0; 418 | } 419 | @media (min-width: 992px) { 420 | .alert-fixed-top, 421 | .alert-fixed-bottom { 422 | left: 50%; 423 | width: 992px; 424 | margin-left: -496px; 425 | } 426 | } 427 | .alert-fixed-top { 428 | top: 0; 429 | border-width: 0 0 1px 0; 430 | } 431 | @media (min-width: 992px) { 432 | .alert-fixed-top { 433 | border-width: 0 1px 1px 1px; 434 | border-bottom-right-radius: 4px; 435 | border-bottom-left-radius: 4px; 436 | } 437 | } 438 | .alert-fixed-bottom { 439 | bottom: 0; 440 | border-width: 1px 0 0 0; 441 | } 442 | @media (min-width: 992px) { 443 | .alert-fixed-bottom { 444 | border-width: 1px 1px 0 1px; 445 | border-top-left-radius: 4px; 446 | border-top-right-radius: 4px; 447 | } 448 | } 449 | .offcanvas { 450 | display: none; 451 | } 452 | .offcanvas.in { 453 | display: block; 454 | } 455 | @media (max-width: 767px) { 456 | .offcanvas-xs { 457 | display: none; 458 | } 459 | .offcanvas-xs.in { 460 | display: block; 461 | } 462 | } 463 | @media (max-width: 991px) { 464 | .offcanvas-sm { 465 | display: none; 466 | } 467 | .offcanvas-sm.in { 468 | display: block; 469 | } 470 | } 471 | @media (max-width: 1199px) { 472 | .offcanvas-md { 473 | display: none; 474 | } 475 | .offcanvas-md.in { 476 | display: block; 477 | } 478 | } 479 | .offcanvas-lg { 480 | display: none; 481 | } 482 | .offcanvas-lg.in { 483 | display: block; 484 | } 485 | .canvas-sliding { 486 | -webkit-transition: top .35s, left .35s, bottom .35s, right .35s; 487 | transition: top .35s, left .35s, bottom .35s, right .35s; 488 | } 489 | .offcanvas-clone { 490 | position: absolute !important; 491 | top: auto !important; 492 | right: 0 !important; 493 | bottom: 0 !important; 494 | left: auto !important; 495 | width: 0 !important; 496 | height: 0 !important; 497 | padding: 0 !important; 498 | margin: 0 !important; 499 | overflow: hidden !important; 500 | border: none !important; 501 | opacity: 0 !important; 502 | } 503 | .table.rowlink td:not(.rowlink-skip), 504 | .table .rowlink td:not(.rowlink-skip) { 505 | cursor: pointer; 506 | } 507 | .table.rowlink td:not(.rowlink-skip) a, 508 | .table .rowlink td:not(.rowlink-skip) a { 509 | font: inherit; 510 | color: inherit; 511 | text-decoration: inherit; 512 | } 513 | .table-hover.rowlink tr:hover td, 514 | .table-hover .rowlink tr:hover td { 515 | background-color: #cfcfcf; 516 | } 517 | .btn-file { 518 | position: relative; 519 | overflow: hidden; 520 | vertical-align: middle; 521 | } 522 | .btn-file > input { 523 | position: absolute; 524 | top: 0; 525 | right: 0; 526 | width: 100%; 527 | height: 100%; 528 | margin: 0; 529 | font-size: 23px; 530 | cursor: pointer; 531 | filter: alpha(opacity=0); 532 | opacity: 0; 533 | 534 | direction: ltr; 535 | } 536 | .fileinput { 537 | display: inline-block; 538 | margin-bottom: 9px; 539 | } 540 | .fileinput .form-control { 541 | display: inline-block; 542 | padding-top: 7px; 543 | padding-bottom: 5px; 544 | margin-bottom: 0; 545 | vertical-align: middle; 546 | cursor: text; 547 | } 548 | .fileinput .thumbnail { 549 | display: inline-block; 550 | margin-bottom: 5px; 551 | overflow: hidden; 552 | text-align: center; 553 | vertical-align: middle; 554 | } 555 | .fileinput .thumbnail > img { 556 | max-height: 100%; 557 | } 558 | .fileinput .btn { 559 | vertical-align: middle; 560 | } 561 | .fileinput-exists .fileinput-new, 562 | .fileinput-new .fileinput-exists { 563 | display: none; 564 | } 565 | .fileinput-inline .fileinput-controls { 566 | display: inline; 567 | } 568 | .fileinput-filename { 569 | display: inline-block; 570 | overflow: hidden; 571 | vertical-align: middle; 572 | } 573 | .form-control .fileinput-filename { 574 | vertical-align: bottom; 575 | } 576 | .fileinput.input-group { 577 | display: table; 578 | } 579 | .fileinput.input-group > * { 580 | position: relative; 581 | z-index: 2; 582 | } 583 | .fileinput.input-group > .btn-file { 584 | z-index: 1; 585 | } 586 | .fileinput-new.input-group .btn-file, 587 | .fileinput-new .input-group .btn-file { 588 | border-radius: 0 4px 4px 0; 589 | } 590 | .fileinput-new.input-group .btn-file.btn-xs, 591 | .fileinput-new .input-group .btn-file.btn-xs, 592 | .fileinput-new.input-group .btn-file.btn-sm, 593 | .fileinput-new .input-group .btn-file.btn-sm { 594 | border-radius: 0 3px 3px 0; 595 | } 596 | .fileinput-new.input-group .btn-file.btn-lg, 597 | .fileinput-new .input-group .btn-file.btn-lg { 598 | border-radius: 0 6px 6px 0; 599 | } 600 | .form-group.has-warning .fileinput .fileinput-preview { 601 | color: #8a6d3b; 602 | } 603 | .form-group.has-warning .fileinput .thumbnail { 604 | border-color: #faebcc; 605 | } 606 | .form-group.has-error .fileinput .fileinput-preview { 607 | color: #a94442; 608 | } 609 | .form-group.has-error .fileinput .thumbnail { 610 | border-color: #ebccd1; 611 | } 612 | .form-group.has-success .fileinput .fileinput-preview { 613 | color: #3c763d; 614 | } 615 | .form-group.has-success .fileinput .thumbnail { 616 | border-color: #d6e9c6; 617 | } 618 | .input-group-addon:not(:first-child) { 619 | border-left: 0; 620 | } 621 | /*# sourceMappingURL=jasny-bootstrap.css.map */ 622 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Content/jasny-bootstrap.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap) 3 | * Copyright 2012-2014 Arnold Daniels 4 | * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE) 5 | */ 6 | 7 | .container-smooth{max-width:1170px}@media (min-width:1px){.container-smooth{width:auto}}.btn-labeled{padding-top:0;padding-bottom:0}.btn-label{position:relative;background:0 0;background:rgba(0,0,0,.15);display:inline-block;padding:6px 12px;left:-12px;border-radius:3px 0 0 3px}.btn-label.btn-label-right{left:auto;right:-12px;border-radius:0 3px 3px 0}.btn-lg .btn-label{padding:10px 16px;left:-16px;border-radius:5px 0 0 5px}.btn-lg .btn-label.btn-label-right{left:auto;right:-16px;border-radius:0 5px 5px 0}.btn-sm .btn-label{padding:5px 10px;left:-10px;border-radius:2px 0 0 2px}.btn-sm .btn-label.btn-label-right{left:auto;right:-10px;border-radius:0 2px 2px 0}.btn-xs .btn-label{padding:1px 5px;left:-5px;border-radius:2px 0 0 2px}.btn-xs .btn-label.btn-label-right{left:auto;right:-5px;border-radius:0 2px 2px 0}.nav-tabs-bottom{border-bottom:0;border-top:1px solid #ddd}.nav-tabs-bottom>li{margin-bottom:0;margin-top:-1px}.nav-tabs-bottom>li>a{border-radius:0 0 4px 4px}.nav-tabs-bottom>li>a:hover,.nav-tabs-bottom>li>a:focus,.nav-tabs-bottom>li.active>a,.nav-tabs-bottom>li.active>a:hover,.nav-tabs-bottom>li.active>a:focus{border:1px solid #ddd;border-top-color:transparent}.nav-tabs-left{border-bottom:0;border-right:1px solid #ddd}.nav-tabs-left>li{margin-bottom:0;margin-right:-1px;float:none}.nav-tabs-left>li>a{border-radius:4px 0 0 4px;margin-right:0;margin-bottom:2px}.nav-tabs-left>li>a:hover,.nav-tabs-left>li>a:focus,.nav-tabs-left>li.active>a,.nav-tabs-left>li.active>a:hover,.nav-tabs-left>li.active>a:focus{border:1px solid #ddd;border-right-color:transparent}.row>.nav-tabs-left{padding-right:0;padding-left:15px;margin-right:-1px;position:relative;z-index:1}.row>.nav-tabs-left+.tab-content{border-left:1px solid #ddd}.nav-tabs-right{border-bottom:0;border-left:1px solid #ddd}.nav-tabs-right>li{margin-bottom:0;margin-left:-1px;float:none}.nav-tabs-right>li>a{border-radius:0 4px 4px 0;margin-left:0;margin-bottom:2px}.nav-tabs-right>li>a:hover,.nav-tabs-right>li>a:focus,.nav-tabs-right>li.active>a,.nav-tabs-right>li.active>a:hover,.nav-tabs-right>li.active>a:focus{border:1px solid #ddd;border-left-color:transparent}.row>.nav-tabs-right{padding-left:0;padding-right:15px}.navmenu,.navbar-offcanvas{width:300px;height:auto;border-width:1px;border-style:solid;border-radius:4px}.navmenu-fixed-left,.navmenu-fixed-right,.navbar-offcanvas{position:fixed;z-index:1030;top:0;bottom:0;overflow-y:auto;border-radius:0}.navmenu-fixed-left,.navbar-offcanvas.navmenu-fixed-left{left:0;right:auto;border-width:0 1px 0 0}.navmenu-fixed-right,.navbar-offcanvas{left:auto;right:0;border-width:0 0 0 1px}.navmenu-nav{margin-bottom:10px}.navmenu-nav.dropdown-menu{position:static;margin:0;padding-top:0;float:none;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.navbar-offcanvas .navbar-nav{margin:0}@media (min-width:768px){.navbar-offcanvas{width:auto;border-top:0;box-shadow:none}.navbar-offcanvas.offcanvas{position:static;display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-offcanvas .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-offcanvas .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-offcanvas .navmenu-brand{display:none}}.navmenu-brand{display:block;font-size:18px;line-height:20px;padding:10px 15px;margin:10px 0}.navmenu-brand:hover,.navmenu-brand:focus{text-decoration:none}.navmenu-default,.navbar-default .navbar-offcanvas{background-color:#f8f8f8;border-color:#e7e7e7}.navmenu-default .navmenu-brand,.navbar-default .navbar-offcanvas .navmenu-brand{color:#777}.navmenu-default .navmenu-brand:hover,.navbar-default .navbar-offcanvas .navmenu-brand:hover,.navmenu-default .navmenu-brand:focus,.navbar-default .navbar-offcanvas .navmenu-brand:focus{color:#5e5e5e;background-color:transparent}.navmenu-default .navmenu-text,.navbar-default .navbar-offcanvas .navmenu-text{color:#777}.navmenu-default .navmenu-nav>.dropdown>a:hover .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a:hover .caret,.navmenu-default .navmenu-nav>.dropdown>a:focus .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navmenu-default .navmenu-nav>.open>a,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a,.navmenu-default .navmenu-nav>.open>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:hover,.navmenu-default .navmenu-nav>.open>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.navmenu-default .navmenu-nav>.open>a .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a .caret,.navmenu-default .navmenu-nav>.open>a:hover .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:hover .caret,.navmenu-default .navmenu-nav>.open>a:focus .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navmenu-default .navmenu-nav>.dropdown>a .caret,.navbar-default .navbar-offcanvas .navmenu-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}.navmenu-default .navmenu-nav.dropdown-menu,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu{background-color:#e7e7e7}.navmenu-default .navmenu-nav.dropdown-menu>.divider,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.divider{background-color:#f8f8f8}.navmenu-default .navmenu-nav.dropdown-menu>.active>a,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a,.navmenu-default .navmenu-nav.dropdown-menu>.active>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:hover,.navmenu-default .navmenu-nav.dropdown-menu>.active>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:focus{background-color:#d7d7d7}.navmenu-default .navmenu-nav>li>a,.navbar-default .navbar-offcanvas .navmenu-nav>li>a{color:#777}.navmenu-default .navmenu-nav>li>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>li>a:hover,.navmenu-default .navmenu-nav>li>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>li>a:focus{color:#333;background-color:transparent}.navmenu-default .navmenu-nav>.active>a,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a,.navmenu-default .navmenu-nav>.active>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a:hover,.navmenu-default .navmenu-nav>.active>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navmenu-default .navmenu-nav>.disabled>a,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a,.navmenu-default .navmenu-nav>.disabled>a:hover,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a:hover,.navmenu-default .navmenu-nav>.disabled>a:focus,.navbar-default .navbar-offcanvas .navmenu-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navmenu-inverse,.navbar-inverse .navbar-offcanvas{background-color:#222;border-color:#080808}.navmenu-inverse .navmenu-brand,.navbar-inverse .navbar-offcanvas .navmenu-brand{color:#999}.navmenu-inverse .navmenu-brand:hover,.navbar-inverse .navbar-offcanvas .navmenu-brand:hover,.navmenu-inverse .navmenu-brand:focus,.navbar-inverse .navbar-offcanvas .navmenu-brand:focus{color:#fff;background-color:transparent}.navmenu-inverse .navmenu-text,.navbar-inverse .navbar-offcanvas .navmenu-text{color:#999}.navmenu-inverse .navmenu-nav>.dropdown>a:hover .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a:hover .caret,.navmenu-inverse .navmenu-nav>.dropdown>a:focus .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navmenu-inverse .navmenu-nav>.open>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a,.navmenu-inverse .navmenu-nav>.open>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:hover,.navmenu-inverse .navmenu-nav>.open>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:focus{background-color:#080808;color:#fff}.navmenu-inverse .navmenu-nav>.open>a .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a .caret,.navmenu-inverse .navmenu-nav>.open>a:hover .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:hover .caret,.navmenu-inverse .navmenu-nav>.open>a:focus .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navmenu-inverse .navmenu-nav>.dropdown>a .caret,.navbar-inverse .navbar-offcanvas .navmenu-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navmenu-inverse .navmenu-nav.dropdown-menu,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu{background-color:#080808}.navmenu-inverse .navmenu-nav.dropdown-menu>.divider,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.divider{background-color:#222}.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a,.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:hover,.navmenu-inverse .navmenu-nav.dropdown-menu>.active>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav.dropdown-menu>.active>a:focus{background-color:#000}.navmenu-inverse .navmenu-nav>li>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a{color:#999}.navmenu-inverse .navmenu-nav>li>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a:hover,.navmenu-inverse .navmenu-nav>li>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>li>a:focus{color:#fff;background-color:transparent}.navmenu-inverse .navmenu-nav>.active>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a,.navmenu-inverse .navmenu-nav>.active>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a:hover,.navmenu-inverse .navmenu-nav>.active>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.active>a:focus{color:#fff;background-color:#080808}.navmenu-inverse .navmenu-nav>.disabled>a,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a,.navmenu-inverse .navmenu-nav>.disabled>a:hover,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a:hover,.navmenu-inverse .navmenu-nav>.disabled>a:focus,.navbar-inverse .navbar-offcanvas .navmenu-nav>.disabled>a:focus{color:#444;background-color:transparent}.alert-fixed-top,.alert-fixed-bottom{position:fixed;width:100%;z-index:1035;border-radius:0;margin:0;left:0}@media (min-width:992px){.alert-fixed-top,.alert-fixed-bottom{width:992px;left:50%;margin-left:-496px}}.alert-fixed-top{top:0;border-width:0 0 1px}@media (min-width:992px){.alert-fixed-top{border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-width:0 1px 1px}}.alert-fixed-bottom{bottom:0;border-width:1px 0 0}@media (min-width:992px){.alert-fixed-bottom{border-top-right-radius:4px;border-top-left-radius:4px;border-width:1px 1px 0}}.offcanvas{display:none}.offcanvas.in{display:block}@media (max-width:767px){.offcanvas-xs{display:none}.offcanvas-xs.in{display:block}}@media (max-width:991px){.offcanvas-sm{display:none}.offcanvas-sm.in{display:block}}@media (max-width:1199px){.offcanvas-md{display:none}.offcanvas-md.in{display:block}}.offcanvas-lg{display:none}.offcanvas-lg.in{display:block}.canvas-sliding{-webkit-transition:top .35s,left .35s,bottom .35s,right .35s;transition:top .35s,left .35s,bottom .35s,right .35s}.offcanvas-clone{height:0!important;width:0!important;overflow:hidden!important;border:none!important;margin:0!important;padding:0!important;position:absolute!important;top:auto!important;left:auto!important;bottom:0!important;right:0!important;opacity:0!important}.table.rowlink td:not(.rowlink-skip),.table .rowlink td:not(.rowlink-skip){cursor:pointer}.table.rowlink td:not(.rowlink-skip) a,.table .rowlink td:not(.rowlink-skip) a{color:inherit;font:inherit;text-decoration:inherit}.table-hover.rowlink tr:hover td,.table-hover .rowlink tr:hover td{background-color:#cfcfcf}.btn-file{overflow:hidden;position:relative;vertical-align:middle}.btn-file>input{position:absolute;top:0;right:0;margin:0;opacity:0;filter:alpha(opacity=0);font-size:23px;height:100%;width:100%;direction:ltr;cursor:pointer}.fileinput{margin-bottom:9px;display:inline-block}.fileinput .form-control{padding-top:7px;padding-bottom:5px;display:inline-block;margin-bottom:0;vertical-align:middle;cursor:text}.fileinput .thumbnail{overflow:hidden;display:inline-block;margin-bottom:5px;vertical-align:middle;text-align:center}.fileinput .thumbnail>img{max-height:100%}.fileinput .btn{vertical-align:middle}.fileinput-exists .fileinput-new,.fileinput-new .fileinput-exists{display:none}.fileinput-inline .fileinput-controls{display:inline}.fileinput-filename{vertical-align:middle;display:inline-block;overflow:hidden}.form-control .fileinput-filename{vertical-align:bottom}.fileinput.input-group{display:table}.fileinput.input-group>*{position:relative;z-index:2}.fileinput.input-group>.btn-file{z-index:1}.fileinput-new.input-group .btn-file,.fileinput-new .input-group .btn-file{border-radius:0 4px 4px 0}.fileinput-new.input-group .btn-file.btn-xs,.fileinput-new .input-group .btn-file.btn-xs,.fileinput-new.input-group .btn-file.btn-sm,.fileinput-new .input-group .btn-file.btn-sm{border-radius:0 3px 3px 0}.fileinput-new.input-group .btn-file.btn-lg,.fileinput-new .input-group .btn-file.btn-lg{border-radius:0 6px 6px 0}.form-group.has-warning .fileinput .fileinput-preview{color:#8a6d3b}.form-group.has-warning .fileinput .thumbnail{border-color:#faebcc}.form-group.has-error .fileinput .fileinput-preview{color:#a94442}.form-group.has-error .fileinput .thumbnail{border-color:#ebccd1}.form-group.has-success .fileinput .fileinput-preview{color:#3c763d}.form-group.has-success .fileinput .thumbnail{border-color:#d6e9c6}.input-group-addon:not(:first-child){border-left:0} -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | 7 | namespace BlogSample.Controllers 8 | { 9 | public class HomeController : Controller 10 | { 11 | public ActionResult Index() 12 | { 13 | return View(); 14 | } 15 | 16 | public ActionResult About() 17 | { 18 | ViewBag.Message = "Your application description page."; 19 | 20 | return View(); 21 | } 22 | 23 | public ActionResult Contact() 24 | { 25 | ViewBag.Message = "Your contact page."; 26 | 27 | return View(); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Controllers/ZipCodeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Data; 4 | using System.IO; 5 | using System.Linq; 6 | using System.Web; 7 | using System.Web.Configuration; 8 | using System.Web.Mvc; 9 | using BlogSample.Infrastructure.CustomResults; 10 | using BlogSample.Infrastructure.Helpers; 11 | using BlogSample.Models; 12 | using Newtonsoft.Json; 13 | using Newtonsoft.Json.Linq; 14 | using PagedList; 15 | 16 | namespace BlogSample.Controllers 17 | { 18 | public class ZipCodeController : Controller 19 | { 20 | private SampleEntities db = new SampleEntities(); 21 | 22 | public ActionResult Index(int page = 1) 23 | { 24 | int currentPage = page < 1 ? 1 : page; 25 | 26 | var query = db.TaiwanZipCodes 27 | .OrderBy(x => x.Sequence) 28 | .ThenBy(x => x.ID) 29 | .ThenBy(x => x.Zip); 30 | 31 | var result = query.ToPagedList(currentPage, 10); 32 | 33 | return View(result); 34 | } 35 | 36 | private string fileSavedPath = WebConfigurationManager.AppSettings["UploadPath"]; 37 | 38 | [HttpPost] 39 | public ActionResult Upload(HttpPostedFileBase file) 40 | { 41 | JObject jo = new JObject(); 42 | string result = string.Empty; 43 | 44 | if (file == null) 45 | { 46 | jo.Add("Result", false); 47 | jo.Add("Msg", "請上傳檔案!"); 48 | result = JsonConvert.SerializeObject(jo); 49 | return Content(result, "application/json"); 50 | } 51 | if (file.ContentLength <= 0) 52 | { 53 | jo.Add("Result", false); 54 | jo.Add("Msg", "請上傳正確的檔案."); 55 | result = JsonConvert.SerializeObject(jo); 56 | return Content(result, "application/json"); 57 | } 58 | 59 | string fileExtName = Path.GetExtension(file.FileName).ToLower(); 60 | 61 | if (!fileExtName.Equals(".xls", StringComparison.OrdinalIgnoreCase) 62 | && 63 | !fileExtName.Equals(".xlsx", StringComparison.OrdinalIgnoreCase)) 64 | { 65 | jo.Add("Result", false); 66 | jo.Add("Msg", "請上傳 .xls 或 .xlsx 格式的檔案"); 67 | result = JsonConvert.SerializeObject(jo); 68 | return Content(result, "application/json"); 69 | } 70 | 71 | try 72 | { 73 | var uploadResult = this.FileUploadHandler(file); 74 | 75 | jo.Add("Result", !string.IsNullOrWhiteSpace(uploadResult)); 76 | jo.Add("Msg", !string.IsNullOrWhiteSpace(uploadResult) ? uploadResult : ""); 77 | 78 | result = JsonConvert.SerializeObject(jo); 79 | } 80 | catch (Exception ex) 81 | { 82 | jo.Add("Result", false); 83 | jo.Add("Msg", ex.Message); 84 | result = JsonConvert.SerializeObject(jo); 85 | } 86 | return Content(result, "application/json"); 87 | } 88 | 89 | /// 90 | /// Files the upload handler. 91 | /// 92 | /// The file. 93 | /// 94 | /// file;上傳失敗:沒有檔案! 95 | /// 上傳失敗:檔案沒有內容! 96 | private string FileUploadHandler(HttpPostedFileBase file) 97 | { 98 | string result; 99 | 100 | if (file == null) 101 | { 102 | throw new ArgumentNullException("file", "上傳失敗:沒有檔案!"); 103 | } 104 | if (file.ContentLength <= 0) 105 | { 106 | throw new InvalidOperationException("上傳失敗:檔案沒有內容!"); 107 | } 108 | 109 | try 110 | { 111 | string virtualBaseFilePath = Url.Content(fileSavedPath); 112 | string filePath = HttpContext.Server.MapPath(virtualBaseFilePath); 113 | 114 | if (!Directory.Exists(filePath)) 115 | { 116 | Directory.CreateDirectory(filePath); 117 | } 118 | 119 | string newFileName = string.Concat( 120 | DateTime.Now.ToString("yyyyMMddHHmmssfff"), 121 | Path.GetExtension(file.FileName).ToLower()); 122 | 123 | string fullFilePath = Path.Combine(Server.MapPath(fileSavedPath), newFileName); 124 | file.SaveAs(fullFilePath); 125 | 126 | result = newFileName; 127 | } 128 | catch (Exception ex) 129 | { 130 | throw; 131 | } 132 | return result; 133 | } 134 | 135 | [HttpPost] 136 | public ActionResult Import(string savedFileName) 137 | { 138 | var jo = new JObject(); 139 | string result; 140 | 141 | try 142 | { 143 | var fileName = string.Concat(Server.MapPath(fileSavedPath), "/", savedFileName); 144 | 145 | var importZipCodes = new List(); 146 | 147 | var helper = new ImportDataHelper(); 148 | var checkResult = helper.CheckImportData(fileName, importZipCodes); 149 | 150 | jo.Add("Result", checkResult.Success); 151 | jo.Add("Msg", checkResult.Success ? string.Empty : checkResult.ErrorMessage); 152 | 153 | if (checkResult.Success) 154 | { 155 | //儲存匯入的資料 156 | helper.SaveImportData(importZipCodes); 157 | } 158 | result = JsonConvert.SerializeObject(jo); 159 | } 160 | catch (Exception ex) 161 | { 162 | throw; 163 | } 164 | return Content(result, "application/json"); 165 | } 166 | 167 | 168 | [HttpPost] 169 | public ActionResult HasData() 170 | { 171 | JObject jo = new JObject(); 172 | bool result = !db.TaiwanZipCodes.Count().Equals(0); 173 | jo.Add("Msg", result.ToString()); 174 | return Content(JsonConvert.SerializeObject(jo), "application/json"); 175 | } 176 | 177 | public ActionResult Export() 178 | { 179 | var exportSpource = this.GetExportData(); 180 | var dt = JsonConvert.DeserializeObject(exportSpource.ToString()); 181 | 182 | var exportFileName = string.Concat( 183 | "TaiwanZipCode_", 184 | DateTime.Now.ToString("yyyyMMddHHmmss"), 185 | ".xlsx"); 186 | 187 | return new ExportExcelResult 188 | { 189 | SheetName = "臺灣郵遞區號", 190 | FileName = exportFileName, 191 | ExportData = dt 192 | }; 193 | } 194 | 195 | private JArray GetExportData() 196 | { 197 | var query = db.TaiwanZipCodes 198 | .OrderBy(x => x.Sequence) 199 | .ThenBy(x => x.ID) 200 | .ThenBy(x => x.Zip); 201 | 202 | JArray jObjects = new JArray(); 203 | 204 | foreach (var item in query) 205 | { 206 | var jo = new JObject(); 207 | jo.Add("ID", item.ID); 208 | jo.Add("Zip", item.Zip); 209 | jo.Add("CityName", item.CityName); 210 | jo.Add("Town", item.Town); 211 | jo.Add("Sequence", item.Sequence); 212 | jObjects.Add(jo); 213 | } 214 | return jObjects; 215 | } 216 | 217 | } 218 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140626154733990.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140626154733990.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140626155037186.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140626155037186.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140626155449287.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140626155449287.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140626155659214.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140626155659214.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140626160058511.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140626160058511.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140627124250238.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140627124250238.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140627144920167.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140627144920167.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/FileUpload/20140627144944514.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/FileUpload/20140627144944514.xls -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Global.asax: -------------------------------------------------------------------------------- 1 | <%@ Application Codebehind="Global.asax.cs" Inherits="BlogSample.MvcApplication" Language="C#" %> 2 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Global.asax.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | using System.Web.Mvc; 6 | using System.Web.Optimization; 7 | using System.Web.Routing; 8 | 9 | namespace BlogSample 10 | { 11 | public class MvcApplication : System.Web.HttpApplication 12 | { 13 | protected void Application_Start() 14 | { 15 | AreaRegistration.RegisterAllAreas(); 16 | FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 17 | RouteConfig.RegisterRoutes(RouteTable.Routes); 18 | BundleConfig.RegisterBundles(BundleTable.Bundles); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Infrastructure/CustomResults/ExportExcelResult.cs: -------------------------------------------------------------------------------- 1 | using ClosedXML.Excel; 2 | using System; 3 | using System.Data; 4 | using System.IO; 5 | using System.Text; 6 | using System.Web; 7 | using System.Web.Mvc; 8 | 9 | namespace BlogSample.Infrastructure.CustomResults 10 | { 11 | public class ExportExcelResult : ActionResult 12 | { 13 | public string SheetName { get; set; } 14 | public string FileName { get; set; } 15 | public DataTable ExportData { get; set; } 16 | 17 | public ExportExcelResult() 18 | { 19 | 20 | } 21 | 22 | public override void ExecuteResult(ControllerContext context) 23 | { 24 | if (ExportData == null) 25 | { 26 | throw new InvalidDataException("ExportData"); 27 | } 28 | if (string.IsNullOrWhiteSpace(this.SheetName)) 29 | { 30 | this.SheetName = "Sheet1"; 31 | } 32 | if (string.IsNullOrWhiteSpace(this.FileName)) 33 | { 34 | this.FileName = string.Concat( 35 | "ExportData_", 36 | DateTime.Now.ToString("yyyyMMddHHmmss"), 37 | ".xlsx"); 38 | } 39 | 40 | this.ExportExcelEventHandler(context); 41 | } 42 | 43 | /// 44 | /// Exports the excel event handler. 45 | /// 46 | /// The context. 47 | private void ExportExcelEventHandler(ControllerContext context) 48 | { 49 | try 50 | { 51 | var workbook = new XLWorkbook(); 52 | 53 | if (this.ExportData != null) 54 | { 55 | context.HttpContext.Response.Clear(); 56 | 57 | // 編碼 58 | context.HttpContext.Response.ContentEncoding = Encoding.UTF8; 59 | 60 | // 設定網頁ContentType 61 | context.HttpContext.Response.ContentType = 62 | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; 63 | 64 | // 匯出檔名 65 | var browser = context.HttpContext.Request.Browser.Browser; 66 | var exportFileName = browser.Equals("Firefox", StringComparison.OrdinalIgnoreCase) 67 | ? this.FileName 68 | : HttpUtility.UrlEncode(this.FileName, Encoding.UTF8); 69 | 70 | context.HttpContext.Response.AddHeader( 71 | "Content-Disposition", 72 | string.Format("attachment;filename={0}", exportFileName)); 73 | 74 | // Add all DataTables in the DataSet as a worksheets 75 | workbook.Worksheets.Add(this.ExportData, this.SheetName); 76 | 77 | using (var memoryStream = new MemoryStream()) 78 | { 79 | workbook.SaveAs(memoryStream); 80 | memoryStream.WriteTo(context.HttpContext.Response.OutputStream); 81 | memoryStream.Close(); 82 | } 83 | } 84 | workbook.Dispose(); 85 | } 86 | catch (Exception ex) 87 | { 88 | throw; 89 | } 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Infrastructure/Helpers/CheckResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web; 5 | 6 | namespace BlogSample.Infrastructure.Helpers 7 | { 8 | public class CheckResult 9 | { 10 | public Guid ID { get; set; } 11 | 12 | public bool Success { get; set; } 13 | 14 | public int RowCount { get; set; } 15 | 16 | public int ErrorCount { get; set; } 17 | 18 | public string ErrorMessage { get; set; } 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Infrastructure/Helpers/ImportDataHelper.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Web; 7 | using BlogSample.Models; 8 | using LinqToExcel; 9 | 10 | namespace BlogSample.Infrastructure.Helpers 11 | { 12 | public class ImportDataHelper 13 | { 14 | /// 15 | /// 檢查匯入的 Excel 資料. 16 | /// 17 | /// Name of the file. 18 | /// The import zip codes. 19 | /// 20 | public CheckResult CheckImportData( 21 | string fileName, 22 | List importZipCodes) 23 | { 24 | var result = new CheckResult(); 25 | 26 | var targetFile = new FileInfo(fileName); 27 | 28 | if (!targetFile.Exists) 29 | { 30 | result.ID = Guid.NewGuid(); 31 | result.Success = false; 32 | result.ErrorCount = 0; 33 | result.ErrorMessage = "匯入的資料檔案不存在"; 34 | return result; 35 | } 36 | 37 | var excelFile = new ExcelQueryFactory(fileName); 38 | 39 | //欄位對映 40 | excelFile.AddMapping(x => x.ID, "ID"); 41 | excelFile.AddMapping(x => x.Zip, "Zip"); 42 | excelFile.AddMapping(x => x.CityName, "CityName"); 43 | excelFile.AddMapping(x => x.Town, "Town"); 44 | excelFile.AddMapping(x => x.Sequence, "Sequence"); 45 | 46 | //SheetName 47 | var excelContent = excelFile.Worksheet("臺灣郵遞區號"); 48 | 49 | int errorCount = 0; 50 | int rowIndex = 1; 51 | var importErrorMessages = new List(); 52 | 53 | //檢查資料 54 | foreach (var row in excelContent) 55 | { 56 | var errorMessage = new StringBuilder(); 57 | var zipCode = new TaiwanZipCode(); 58 | 59 | zipCode.ID = row.ID; 60 | zipCode.Sequence = row.Sequence; 61 | zipCode.Zip = row.Zip; 62 | zipCode.CreateDate = DateTime.Now; 63 | 64 | //CityName 65 | if (string.IsNullOrWhiteSpace(row.CityName)) 66 | { 67 | errorMessage.Append("縣市名稱 - 不可空白. "); 68 | } 69 | zipCode.CityName = row.CityName; 70 | 71 | //Town 72 | if (string.IsNullOrWhiteSpace(row.Town)) 73 | { 74 | errorMessage.Append("鄉鎮市區名稱 - 不可空白. "); 75 | } 76 | zipCode.Town = row.Town; 77 | 78 | //============================================================================= 79 | if (errorMessage.Length > 0) 80 | { 81 | errorCount += 1; 82 | importErrorMessages.Add(string.Format( 83 | "第 {0} 列資料發現錯誤:{1}{2}", 84 | rowIndex, 85 | errorMessage, 86 | "
")); 87 | } 88 | importZipCodes.Add(zipCode); 89 | rowIndex += 1; 90 | } 91 | 92 | try 93 | { 94 | result.ID = Guid.NewGuid(); 95 | result.Success = errorCount.Equals(0); 96 | result.RowCount = importZipCodes.Count; 97 | result.ErrorCount = errorCount; 98 | 99 | string allErrorMessage = string.Empty; 100 | 101 | foreach (var message in importErrorMessages) 102 | { 103 | allErrorMessage += message; 104 | } 105 | 106 | result.ErrorMessage = allErrorMessage; 107 | 108 | return result; 109 | } 110 | catch (Exception ex) 111 | { 112 | throw; 113 | } 114 | } 115 | 116 | 117 | /// 118 | /// Saves the import data. 119 | /// 120 | /// The import zip codes. 121 | /// 122 | public void SaveImportData(IEnumerable importZipCodes) 123 | { 124 | try 125 | { 126 | //先砍掉全部資料 127 | using (var db = new SampleEntities()) 128 | { 129 | foreach (var item in db.TaiwanZipCodes.OrderBy(x => x.ID)) 130 | { 131 | db.TaiwanZipCodes.Remove(item); 132 | } 133 | db.SaveChanges(); 134 | } 135 | 136 | //再把匯入的資料給存到資料庫 137 | using (var db = new SampleEntities()) 138 | { 139 | foreach (var item in importZipCodes) 140 | { 141 | db.TaiwanZipCodes.Add(item); 142 | } 143 | db.SaveChanges(); 144 | } 145 | } 146 | catch (Exception ex) 147 | { 148 | throw; 149 | } 150 | } 151 | } 152 | } -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/Model1.Context.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 這個程式碼是由範本產生。 4 | // 5 | // 對這個檔案進行手動變更可能導致您的應用程式產生未預期的行為。 6 | // 如果重新產生程式碼,將會覆寫對這個檔案的手動變更。 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace BlogSample.Models 11 | { 12 | using System; 13 | using System.Data.Entity; 14 | using System.Data.Entity.Infrastructure; 15 | 16 | public partial class SampleEntities : DbContext 17 | { 18 | public SampleEntities() 19 | : base("name=SampleEntities") 20 | { 21 | } 22 | 23 | protected override void OnModelCreating(DbModelBuilder modelBuilder) 24 | { 25 | throw new UnintentionalCodeFirstException(); 26 | } 27 | 28 | public virtual DbSet TaiwanZipCodes { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/Model1.Designer.cs: -------------------------------------------------------------------------------- 1 | // 已啟用模型 'E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\Models\Model1.edmx' 的 T4 程式碼產生。 2 | // 若要啟用舊版程式碼產生,請將 [程式碼產生策略] 設計工具屬性的值 3 | //變更為 [舊版 ObjectContext]。當模型在設計工具中開啟時,這個屬性便可 4 | //以在 [屬性] 視窗中使用。 5 | 6 | // 如果尚未產生任何內容和實體類型,可能是因為您建立了空的模型,但 7 | //尚未選擇要使用的 Entity Framework 版本。若要為您的模型產生內容類別和 8 | //實體類型,請在設計工具中開啟模型,以滑鼠右鍵按一下設計工具介面並 9 | //選取 [從資料庫更新模型]、[由模型產生資料庫] 或 [加入程式碼產生 10 | //項目]。 -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/Model1.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 這個程式碼是由範本產生。 4 | // 5 | // 對這個檔案進行手動變更可能導致您的應用程式產生未預期的行為。 6 | // 如果重新產生程式碼,將會覆寫對這個檔案的手動變更。 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/Model1.edmx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/Model1.edmx.diagram: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Models/TaiwanZipCode.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 這個程式碼是由範本產生。 4 | // 5 | // 對這個檔案進行手動變更可能導致您的應用程式產生未預期的行為。 6 | // 如果重新產生程式碼,將會覆寫對這個檔案的手動變更。 7 | // 8 | //------------------------------------------------------------------------------ 9 | 10 | namespace BlogSample.Models 11 | { 12 | using System; 13 | using System.Collections.Generic; 14 | 15 | public partial class TaiwanZipCode 16 | { 17 | public int ID { get; set; } 18 | public int Zip { get; set; } 19 | public string CityName { get; set; } 20 | public string Town { get; set; } 21 | public int Sequence { get; set; } 22 | public System.DateTime CreateDate { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Project_Readme.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 您的 ASP.NET 應用程式 7 | 96 | 97 | 98 | 99 | 103 | 104 |
105 |
106 |

此應用程式的組成項目:

107 |
    108 |
  • 範例頁面顯示首頁、關於和連絡人間的導覽。
  • 109 |
  • 使用 Bootstrap 進行佈景主題
  • 110 |
  • 驗證若已選取,顯示如何註冊並登入
  • 111 |
  • 使用 NuGet 管理 ASP.NET 功能
  • 112 |
113 |
114 | 115 | 132 | 133 |
134 |

部署

135 | 140 |
141 | 142 |
143 |

取得說明

144 | 148 |
149 |
150 | 151 | 152 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 組件的一般資訊會透過將設定 6 | // 控制。變更這些屬性值可修改與組件關聯的 7 | // 資訊。 8 | [assembly: AssemblyTitle("BlogSample")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("BlogSample")] 13 | [assembly: AssemblyCopyright("Copyright (C) 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // ComVisible 為 false 的方式來控制,讓此組件中的類型在 18 | // COM 組件中為不可見。如果您需要從 19 | // COM 存取此組件中的型別,請在該型別上將 ComVisible 屬性設定為 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 下列 GUID 為專案公開 (Expose) 至 COM 時所要使用的 typelib ID 23 | [assembly: Guid("df68bd1a-28b5-41dc-9070-0ea6afd2bf79")] 24 | 25 | // 組件的版本資訊是由下列四項值構成: 26 | // 27 | // 主要版本 28 | // 次要版本存取此組件中的類型, 29 | // 組建編號 30 | // 修訂編號 31 | // 32 | // 您可以指定所有值或預設修訂和組件數目 33 | // 指定為預設值: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Properties/PublishProfiles/SimpleExcelImportExport.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | FileSystem 9 | Release 10 | Any CPU 11 | 12 | True 13 | True 14 | True 15 | False 16 | DonotMerge 17 | False 18 | E:\WebRoot\SimpleExcelImportExport 19 | True 20 | 21 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Properties/PublishProfiles/SimpleExcelImportExport.pubxml.user: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | <_PublishTargetUrl>E:\WebRoot\SimpleExcelImportExport 10 | 11 | 12 | 13 | 06/27/2014 13:37:53 14 | 15 | 16 | 06/27/2014 13:37:54 17 | 18 | 19 | 06/26/2014 13:15:28 20 | 21 | 22 | 06/27/2014 13:37:57 23 | 24 | 25 | 06/27/2014 13:37:57 26 | 27 | 28 | 06/27/2014 13:37:52 29 | 30 | 31 | 06/27/2014 11:53:51 32 | 33 | 34 | 06/27/2014 11:53:51 35 | 36 | 37 | 06/26/2014 13:42:45 38 | 39 | 40 | 06/26/2014 13:42:45 41 | 42 | 43 | 06/26/2014 15:28:14 44 | 45 | 46 | 06/26/2014 15:28:14 47 | 48 | 49 | 06/26/2014 13:15:27 50 | 51 | 52 | 06/26/2014 13:15:29 53 | 54 | 55 | 06/26/2014 13:46:33 56 | 57 | 58 | 06/26/2014 13:46:33 59 | 60 | 61 | 06/26/2014 15:28:14 62 | 63 | 64 | 06/26/2014 15:28:14 65 | 66 | 67 | 06/26/2014 15:28:14 68 | 69 | 70 | 06/26/2014 13:15:27 71 | 72 | 73 | 06/26/2014 13:15:28 74 | 75 | 76 | 06/26/2014 13:15:27 77 | 78 | 79 | 06/26/2014 13:15:27 80 | 81 | 82 | 06/26/2014 13:15:27 83 | 84 | 85 | 06/26/2014 13:15:27 86 | 87 | 88 | 06/26/2014 13:15:27 89 | 90 | 91 | 06/26/2014 13:15:28 92 | 93 | 94 | 06/26/2014 13:15:29 95 | 96 | 97 | 06/26/2014 13:15:29 98 | 99 | 100 | 06/26/2014 13:15:29 101 | 102 | 103 | 06/26/2014 13:15:29 104 | 105 | 106 | 06/26/2014 13:15:29 107 | 108 | 109 | 06/26/2014 13:15:29 110 | 111 | 112 | 06/26/2014 13:15:29 113 | 114 | 115 | 06/26/2014 13:15:22 116 | 117 | 118 | 06/26/2014 13:15:22 119 | 120 | 121 | 06/25/2014 16:45:17 122 | 123 | 124 | 06/25/2014 16:45:17 125 | 126 | 127 | 06/25/2014 16:45:17 128 | 129 | 130 | 06/26/2014 13:46:35 131 | 132 | 133 | 06/26/2014 13:15:11 134 | 135 | 136 | 06/26/2014 13:15:11 137 | 138 | 139 | 06/26/2014 13:15:22 140 | 141 | 142 | 06/26/2014 13:15:22 143 | 144 | 145 | 06/26/2014 13:15:22 146 | 147 | 148 | 06/26/2014 13:15:22 149 | 150 | 151 | 06/26/2014 13:44:13 152 | 153 | 154 | 06/27/2014 11:53:59 155 | 156 | 157 | 06/27/2014 13:37:55 158 | 159 | 160 | 06/25/2014 17:14:37 161 | 162 | 163 | 06/26/2014 13:15:22 164 | 165 | 166 | 06/26/2014 13:15:22 167 | 168 | 169 | 06/25/2014 16:44:51 170 | 171 | 172 | 06/25/2014 16:44:51 173 | 174 | 175 | 06/26/2014 13:15:23 176 | 177 | 178 | 06/26/2014 13:15:23 179 | 180 | 181 | 06/26/2014 13:15:23 182 | 183 | 184 | 06/25/2014 17:05:55 185 | 186 | 187 | 06/26/2014 13:15:28 188 | 189 | 190 | 06/26/2014 13:15:28 191 | 192 | 193 | 06/26/2014 13:15:29 194 | 195 | 196 | 06/26/2014 13:15:29 197 | 198 | 199 | 06/26/2014 13:15:28 200 | 201 | 202 | 06/25/2014 17:38:33 203 | 204 | 205 | 06/25/2014 19:58:03 206 | 207 | 208 | 06/27/2014 11:44:40 209 | 210 | 211 | 06/26/2014 13:15:28 212 | 213 | 214 | 06/26/2014 13:15:28 215 | 216 | 217 | 06/26/2014 14:36:35 218 | 219 | 220 | 06/27/2014 02:25:01 221 | 222 | 223 | 06/26/2014 13:15:11 224 | 225 | 226 | 06/26/2014 13:15:11 227 | 228 | 229 | 06/26/2014 13:15:11 230 | 231 | 232 | 06/26/2014 13:15:11 233 | 234 | 235 | 06/26/2014 13:15:11 236 | 237 | 238 | 06/27/2014 11:39:29 239 | 240 | 241 | 06/26/2014 14:09:56 242 | 243 | 244 | 06/26/2014 13:15:11 245 | 246 | 247 | 06/27/2014 13:37:54 248 | 249 | 250 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/_references.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/Scripts/_references.js -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/jasny-bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Jasny Bootstrap v3.1.3 (http://jasny.github.io/bootstrap) 3 | * Copyright 2012-2014 Arnold Daniels 4 | * Licensed under Apache-2.0 (https://github.com/jasny/bootstrap/blob/master/LICENSE) 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Jasny Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}void 0===a.support.transition&&(a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()}))}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.state=null,this.placement=null,this.options.recalc&&(this.calcClone(),a(window).on("resize",a.proxy(this.recalc,this))),this.options.autohide&&a(document).on("click",a.proxy(this.autohide,this)),this.options.toggle&&this.toggle(),this.options.disablescrolling&&(this.options.disableScrolling=this.options.disablescrolling,delete this.options.disablescrolling)};b.DEFAULTS={toggle:!0,placement:"auto",autohide:!0,recalc:!0,disableScrolling:!0},b.prototype.offset=function(){switch(this.placement){case"left":case"right":return this.$element.outerWidth();case"top":case"bottom":return this.$element.outerHeight()}},b.prototype.calcPlacement=function(){function b(a,b){if("auto"===e.css(b))return a;if("auto"===e.css(a))return b;var c=parseInt(e.css(a),10),d=parseInt(e.css(b),10);return c>d?b:a}if("auto"!==this.options.placement)return void(this.placement=this.options.placement);this.$element.hasClass("in")||this.$element.css("visiblity","hidden !important").addClass("in");var c=a(window).width()/this.$element.width(),d=a(window).height()/this.$element.height(),e=this.$element;this.placement=c>=d?b("left","right"):b("top","bottom"),"hidden !important"===this.$element.css("visibility")&&this.$element.removeClass("in").css("visiblity","")},b.prototype.opposite=function(a){switch(a){case"top":return"bottom";case"left":return"right";case"bottom":return"top";case"right":return"left"}},b.prototype.getCanvasElements=function(){var b=this.options.canvas?a(this.options.canvas):this.$element,c=b.find("*").filter(function(){return"fixed"===a(this).css("position")}).not(this.options.exclude);return b.add(c)},b.prototype.slide=function(b,c,d){if(!a.support.transition){var e={};return e[this.placement]="+="+c,b.animate(e,350,d)}var f=this.placement,g=this.opposite(f);b.each(function(){"auto"!==a(this).css(f)&&a(this).css(f,(parseInt(a(this).css(f),10)||0)+c),"auto"!==a(this).css(g)&&a(this).css(g,(parseInt(a(this).css(g),10)||0)-c)}),this.$element.one(a.support.transition.end,d).emulateTransitionEnd(350)},b.prototype.disableScrolling=function(){var b=a("body").width(),c="padding-"+this.opposite(this.placement);if(void 0===a("body").data("offcanvas-style")&&a("body").data("offcanvas-style",a("body").attr("style")||""),a("body").css("overflow","hidden"),a("body").width()>b){var d=parseInt(a("body").css(c),10)+a("body").width()-b;setTimeout(function(){a("body").css(c,d)},1)}},b.prototype.show=function(){if(!this.state){var b=a.Event("show.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-in",this.calcPlacement();var c=this.getCanvasElements(),d=this.placement,e=this.opposite(d),f=this.offset();-1!==c.index(this.$element)&&(a(this.$element).data("offcanvas-style",a(this.$element).attr("style")||""),this.$element.css(d,-1*f),this.$element.css(d)),c.addClass("canvas-sliding").each(function(){void 0===a(this).data("offcanvas-style")&&a(this).data("offcanvas-style",a(this).attr("style")||""),"static"===a(this).css("position")&&a(this).css("position","relative"),"auto"!==a(this).css(d)&&"0px"!==a(this).css(d)||"auto"!==a(this).css(e)&&"0px"!==a(this).css(e)||a(this).css(d,0)}),this.options.disableScrolling&&this.disableScrolling();var g=function(){"slide-in"==this.state&&(this.state="slid",c.removeClass("canvas-sliding").addClass("canvas-slid"),this.$element.trigger("shown.bs.offcanvas"))};setTimeout(a.proxy(function(){this.$element.addClass("in"),this.slide(c,f,a.proxy(g,this))},this),1)}}},b.prototype.hide=function(){if("slid"===this.state){var b=a.Event("hide.bs.offcanvas");if(this.$element.trigger(b),!b.isDefaultPrevented()){this.state="slide-out";var c=a(".canvas-slid"),d=(this.placement,-1*this.offset()),e=function(){"slide-out"==this.state&&(this.state=null,this.placement=null,this.$element.removeClass("in"),c.removeClass("canvas-sliding"),c.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")}),this.$element.trigger("hidden.bs.offcanvas"))};c.removeClass("canvas-slid").addClass("canvas-sliding"),setTimeout(a.proxy(function(){this.slide(c,d,a.proxy(e,this))},this),1)}}},b.prototype.toggle=function(){"slide-in"!==this.state&&"slide-out"!==this.state&&this["slid"===this.state?"hide":"show"]()},b.prototype.calcClone=function(){this.$calcClone=this.$element.clone().html("").addClass("offcanvas-clone").removeClass("in").appendTo(a("body"))},b.prototype.recalc=function(){if("none"!==this.$calcClone.css("display")&&("slid"===this.state||"slide-in"===this.state)){this.state=null,this.placement=null;var b=this.getCanvasElements();this.$element.removeClass("in"),b.removeClass("canvas-slid"),b.add(this.$element).add("body").each(function(){a(this).attr("style",a(this).data("offcanvas-style")).removeData("offcanvas-style")})}},b.prototype.autohide=function(b){0===a(b.target).closest(this.$element).length&&this.hide()};var c=a.fn.offcanvas;a.fn.offcanvas=function(c){return this.each(function(){var d=a(this),e=d.data("bs.offcanvas"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.offcanvas",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.offcanvas.Constructor=b,a.fn.offcanvas.noConflict=function(){return a.fn.offcanvas=c,this},a(document).on("click.bs.offcanvas.data-api","[data-toggle=offcanvas]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.offcanvas"),h=g?"toggle":d.data();b.stopPropagation(),g?g.toggle():f.offcanvas(h)})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.$element.on("click.bs.rowlink","td:not(.rowlink-skip)",a.proxy(this.click,this))};b.DEFAULTS={target:"a"},b.prototype.click=function(b){var c=a(b.currentTarget).closest("tr").find(this.options.target)[0];if(a(b.target)[0]!==c)if(b.preventDefault(),c.click)c.click();else if(document.createEvent){var d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),c.dispatchEvent(d)}};var c=a.fn.rowlink;a.fn.rowlink=function(c){return this.each(function(){var d=a(this),e=d.data("bs.rowlink");e||d.data("bs.rowlink",e=new b(this,c))})},a.fn.rowlink.Constructor=b,a.fn.rowlink.noConflict=function(){return a.fn.rowlink=c,this},a(document).on("click.bs.rowlink.data-api",'[data-link="row"]',function(b){if(0===a(b.target).closest(".rowlink-skip").length){var c=a(this);c.data("bs.rowlink")||(c.rowlink(c.data()),a(b.target).trigger("click.bs.rowlink"))}})}(window.jQuery),+function(a){"use strict";var b=void 0!==window.orientation,c=navigator.userAgent.toLowerCase().indexOf("android")>-1,d="Microsoft Internet Explorer"==window.navigator.appName,e=function(b,d){c||(this.$element=a(b),this.options=a.extend({},e.DEFAULTS,d),this.mask=String(this.options.mask),this.init(),this.listen(),this.checkVal())};e.DEFAULTS={mask:"",placeholder:"_",definitions:{9:"[0-9]",a:"[A-Za-z]",w:"[A-Za-z0-9]","*":"."}},e.prototype.init=function(){var b=this.options.definitions,c=this.mask.length;this.tests=[],this.partialPosition=this.mask.length,this.firstNonMaskPos=null,a.each(this.mask.split(""),a.proxy(function(a,d){"?"==d?(c--,this.partialPosition=a):b[d]?(this.tests.push(new RegExp(b[d])),null===this.firstNonMaskPos&&(this.firstNonMaskPos=this.tests.length-1)):this.tests.push(null)},this)),this.buffer=a.map(this.mask.split(""),a.proxy(function(a){return"?"!=a?b[a]?this.options.placeholder:a:void 0},this)),this.focusText=this.$element.val(),this.$element.data("rawMaskFn",a.proxy(function(){return a.map(this.buffer,function(a,b){return this.tests[b]&&a!=this.options.placeholder?a:null}).join("")},this))},e.prototype.listen=function(){if(!this.$element.attr("readonly")){var b=(d?"paste":"input")+".mask";this.$element.on("unmask.bs.inputmask",a.proxy(this.unmask,this)).on("focus.bs.inputmask",a.proxy(this.focusEvent,this)).on("blur.bs.inputmask",a.proxy(this.blurEvent,this)).on("keydown.bs.inputmask",a.proxy(this.keydownEvent,this)).on("keypress.bs.inputmask",a.proxy(this.keypressEvent,this)).on(b,a.proxy(this.pasteEvent,this))}},e.prototype.caret=function(a,b){if(0!==this.$element.length){if("number"==typeof a)return b="number"==typeof b?b:a,this.$element.each(function(){if(this.setSelectionRange)this.setSelectionRange(a,b);else if(this.createTextRange){var c=this.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select()}});if(this.$element[0].setSelectionRange)a=this.$element[0].selectionStart,b=this.$element[0].selectionEnd;else if(document.selection&&document.selection.createRange){var c=document.selection.createRange();a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length}return{begin:a,end:b}}},e.prototype.seekNext=function(a){for(var b=this.mask.length;++a<=b&&!this.tests[a];);return a},e.prototype.seekPrev=function(a){for(;--a>=0&&!this.tests[a];);return a},e.prototype.shiftL=function(a,b){var c=this.mask.length;if(!(0>a)){for(var d=a,e=this.seekNext(b);c>d;d++)if(this.tests[d]){if(!(c>e&&this.tests[d].test(this.buffer[e])))break;this.buffer[d]=this.buffer[e],this.buffer[e]=this.options.placeholder,e=this.seekNext(e)}this.writeBuffer(),this.caret(Math.max(this.firstNonMaskPos,a))}},e.prototype.shiftR=function(a){for(var b=this.mask.length,c=a,d=this.options.placeholder;b>c;c++)if(this.tests[c]){var e=this.seekNext(c),f=this.buffer[c];if(this.buffer[c]=d,!(b>e&&this.tests[e].test(f)))break;d=f}},e.prototype.unmask=function(){this.$element.unbind(".mask").removeData("inputmask")},e.prototype.focusEvent=function(){this.focusText=this.$element.val();var a=this.mask.length,b=this.checkVal();this.writeBuffer();var c=this,d=function(){b==a?c.caret(0,b):c.caret(b)};d(),setTimeout(d,50)},e.prototype.blurEvent=function(){this.checkVal(),this.$element.val()!==this.focusText&&this.$element.trigger("change")},e.prototype.keydownEvent=function(a){var c=a.which;if(8==c||46==c||b&&127==c){var d=this.caret(),e=d.begin,f=d.end;return f-e===0&&(e=46!=c?this.seekPrev(e):f=this.seekNext(e-1),f=46==c?this.seekNext(f):f),this.clearBuffer(e,f),this.shiftL(e,f-1),!1}return 27==c?(this.$element.val(this.focusText),this.caret(0,this.checkVal()),!1):void 0},e.prototype.keypressEvent=function(a){var b=this.mask.length,c=a.which,d=this.caret();if(a.ctrlKey||a.altKey||a.metaKey||32>c)return!0;if(c){d.end-d.begin!==0&&(this.clearBuffer(d.begin,d.end),this.shiftL(d.begin,d.end-1));var e=this.seekNext(d.begin-1);if(b>e){var f=String.fromCharCode(c);if(this.tests[e].test(f)){this.shiftR(e),this.buffer[e]=f,this.writeBuffer();var g=this.seekNext(e);this.caret(g)}}return!1}},e.prototype.pasteEvent=function(){var a=this;setTimeout(function(){a.caret(a.checkVal(!0))},0)},e.prototype.clearBuffer=function(a,b){for(var c=this.mask.length,d=a;b>d&&c>d;d++)this.tests[d]&&(this.buffer[d]=this.options.placeholder)},e.prototype.writeBuffer=function(){return this.$element.val(this.buffer.join("")).val()},e.prototype.checkVal=function(a){for(var b=this.mask.length,c=this.$element.val(),d=-1,e=0,f=0;b>e;e++)if(this.tests[e]){for(this.buffer[e]=this.options.placeholder;f++c.length)break}else this.buffer[e]==c.charAt(f)&&e!=this.partialPosition&&(f++,d=e);return!a&&d+1=this.partialPosition)&&(this.writeBuffer(),a||this.$element.val(this.$element.val().substring(0,d+1))),this.partialPosition?e:this.firstNonMaskPos};var f=a.fn.inputmask;a.fn.inputmask=function(b){return this.each(function(){var c=a(this),d=c.data("bs.inputmask");d||c.data("bs.inputmask",d=new e(this,b))})},a.fn.inputmask.Constructor=e,a.fn.inputmask.noConflict=function(){return a.fn.inputmask=f,this},a(document).on("focus.bs.inputmask.data-api","[data-mask]",function(){var b=a(this);b.data("bs.inputmask")||b.inputmask(b.data())})}(window.jQuery),+function(a){"use strict";var b="Microsoft Internet Explorer"==window.navigator.appName,c=function(b,c){if(this.$element=a(b),this.$input=this.$element.find(":file"),0!==this.$input.length){this.name=this.$input.attr("name")||c.name,this.$hidden=this.$element.find('input[type=hidden][name="'+this.name+'"]'),0===this.$hidden.length&&(this.$hidden=a('').insertBefore(this.$input)),this.$preview=this.$element.find(".fileinput-preview");var d=this.$preview.css("height");"inline"!==this.$preview.css("display")&&"0px"!==d&&"none"!==d&&this.$preview.css("line-height",d),this.original={exists:this.$element.hasClass("fileinput-exists"),preview:this.$preview.html(),hiddenVal:this.$hidden.val()},this.listen()}};c.prototype.listen=function(){this.$input.on("change.bs.fileinput",a.proxy(this.change,this)),a(this.$input[0].form).on("reset.bs.fileinput",a.proxy(this.reset,this)),this.$element.find('[data-trigger="fileinput"]').on("click.bs.fileinput",a.proxy(this.trigger,this)),this.$element.find('[data-dismiss="fileinput"]').on("click.bs.fileinput",a.proxy(this.clear,this))},c.prototype.change=function(b){var c=void 0===b.target.files?b.target&&b.target.value?[{name:b.target.value.replace(/^.+\\/,"")}]:[]:b.target.files;if(b.stopPropagation(),0===c.length)return void this.clear();this.$hidden.val(""),this.$hidden.attr("name",""),this.$input.attr("name",this.name);var d=c[0];if(this.$preview.length>0&&("undefined"!=typeof d.type?d.type.match(/^image\/(gif|png|jpeg)$/):d.name.match(/\.(gif|png|jpe?g)$/i))&&"undefined"!=typeof FileReader){var e=new FileReader,f=this.$preview,g=this.$element;e.onload=function(b){var e=a("");e[0].src=b.target.result,c[0].result=b.target.result,g.find(".fileinput-filename").text(d.name),"none"!=f.css("max-height")&&e.css("max-height",parseInt(f.css("max-height"),10)-parseInt(f.css("padding-top"),10)-parseInt(f.css("padding-bottom"),10)-parseInt(f.css("border-top"),10)-parseInt(f.css("border-bottom"),10)),f.html(e),g.addClass("fileinput-exists").removeClass("fileinput-new"),g.trigger("change.bs.fileinput",c)},e.readAsDataURL(d)}else this.$element.find(".fileinput-filename").text(d.name),this.$preview.text(d.name),this.$element.addClass("fileinput-exists").removeClass("fileinput-new"),this.$element.trigger("change.bs.fileinput")},c.prototype.clear=function(a){if(a&&a.preventDefault(),this.$hidden.val(""),this.$hidden.attr("name",this.name),this.$input.attr("name",""),b){var c=this.$input.clone(!0);this.$input.after(c),this.$input.remove(),this.$input=c}else this.$input.val("");this.$preview.html(""),this.$element.find(".fileinput-filename").text(""),this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),void 0!==a&&(this.$input.trigger("change"),this.$element.trigger("clear.bs.fileinput"))},c.prototype.reset=function(){this.clear(),this.$hidden.val(this.original.hiddenVal),this.$preview.html(this.original.preview),this.$element.find(".fileinput-filename").text(""),this.original.exists?this.$element.addClass("fileinput-exists").removeClass("fileinput-new"):this.$element.addClass("fileinput-new").removeClass("fileinput-exists"),this.$element.trigger("reset.bs.fileinput")},c.prototype.trigger=function(a){this.$input.trigger("click"),a.preventDefault()};var d=a.fn.fileinput;a.fn.fileinput=function(b){return this.each(function(){var d=a(this),e=d.data("bs.fileinput");e||d.data("bs.fileinput",e=new c(this,b)),"string"==typeof b&&e[b]()})},a.fn.fileinput.Constructor=c,a.fn.fileinput.noConflict=function(){return a.fn.fileinput=d,this},a(document).on("click.fileinput.data-api",'[data-provides="fileinput"]',function(b){var c=a(this);if(!c.data("bs.fileinput")){c.fileinput(c.data());var d=a(b.target).closest('[data-dismiss="fileinput"],[data-trigger="fileinput"]');d.length>0&&(b.preventDefault(),d.trigger("click.bs.fileinput"))}})}(window.jQuery); -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/jquery.validate.unobtrusive.min.js: -------------------------------------------------------------------------------- 1 | /* NUGET: BEGIN LICENSE TEXT 2 | * 3 | * Microsoft grants you the right to use these script files for the sole 4 | * purpose of either: (i) interacting through your browser with the Microsoft 5 | * website or online service, subject to the applicable licensing or use 6 | * terms; or (ii) using the files as included with a Microsoft product subject 7 | * to that product's license terms. Microsoft reserves all other rights to the 8 | * files not expressly granted by Microsoft, whether by implication, estoppel 9 | * or otherwise. Insofar as a script file is dual licensed under GPL, 10 | * Microsoft neither took the code under GPL nor distributes it thereunder but 11 | * under the terms set out in this paragraph. All notices and licenses 12 | * below are for informational purposes only. 13 | * 14 | * NUGET: END LICENSE TEXT */ 15 | /* 16 | ** Unobtrusive validation support library for jQuery and jQuery Validate 17 | ** Copyright (C) Microsoft Corporation. All rights reserved. 18 | */ 19 | (function(a){var d=a.validator,b,e="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function j(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function h(a){return a.substr(0,a.lastIndexOf(".")+1)}function g(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function m(c,e){var b=a(this).find("[data-valmsg-for='"+f(e[0].name)+"']"),d=b.attr("data-valmsg-replace"),g=d?a.parseJSON(d)!==false:null;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(g){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function l(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("
  • ").html(this.message).appendTo(b)})}}function k(d){var b=d.data("unobtrusiveContainer"),c=b.attr("data-valmsg-replace"),e=c?a.parseJSON(c):null;if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");d.removeData("unobtrusiveContainer");e&&b.empty()}}function n(){var b=a(this);b.data("validator").resetForm();b.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors");b.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}function i(c){var b=a(c),d=b.data(e),f=a.proxy(n,c);if(!d){d={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:a.proxy(m,c),invalidHandler:a.proxy(l,c),messages:{},rules:{},success:a.proxy(k,c)},attachValidation:function(){b.unbind("reset."+e,f).bind("reset."+e,f).validate(this.options)},validate:function(){b.validate();return b.valid()}};b.data(e,d)}return d}d.unobtrusive={adapters:[],parseElement:function(b,h){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=i(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});a.extend(e,{__dummy__:true});!h&&c.attachValidation()},parse:function(b){var c=a(b).parents("form").andSelf().add(a(b).find("form")).filter("form");a(b).find(":input").filter("[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});c.each(function(){var a=i(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});d.addMethod("nonalphamin",function(c,d,b){var a;if(b){a=c.match(/\W/g);a=a&&a.length>=b}return a});if(d.methods.extension){b.addSingleVal("accept","mimtype");b.addSingleVal("extension","extension")}else b.addSingleVal("extension","extension","accept");b.addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength");b.add("equalto",["other"],function(b){var i=h(b.element.name),j=b.params.other,d=g(j,i),e=a(b.form).find(":input").filter("[name='"+f(d)+"']")[0];c(b,"equalTo",e)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},e=h(b.element.name);a.each(j(b.params.additionalfields||b.element.name),function(i,h){var c=g(h,e);d.data[c]=function(){return a(b.form).find(":input").filter("[name='"+f(c)+"']").val()}});c(b,"remote",d)});b.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&c(a,"minlength",a.params.min);a.params.nonalphamin&&c(a,"nonalphamin",a.params.nonalphamin);a.params.regex&&c(a,"regex",a.params.regex)});a(function(){d.unobtrusive.parse(document)})})(jQuery); -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/project.ZipCode.js: -------------------------------------------------------------------------------- 1 | //================================================================================================ 2 | /// Ps.如果你要新增給IntelliSense用的js檔案, 請加在該檔案中 3 | //================================================================================================ 4 | 5 | (function (app) { 6 | //=========================================================================================== 7 | var current = app.ZipCode = {}; 8 | //=========================================================================================== 9 | 10 | jQuery.extend(app.ZipCode, 11 | { 12 | Initialize: function (actionUrls) { 13 | /// 14 | /// 初始化函式 15 | /// 16 | /// 17 | 18 | jQuery.extend(project.ActionUrls, actionUrls); 19 | 20 | //上傳檔案事件處理 21 | current.UploadEventHandler(); 22 | 23 | //匯出資料 24 | $('#ButtonExport').click(function () { 25 | current.ExportDate(); 26 | }); 27 | }, 28 | 29 | UploadEventHandler: function () { 30 | /// 31 | /// 上傳匯入資料 32 | /// 33 | 34 | $("#UploadForm").ajaxForm({ 35 | iframe: true, 36 | dataType: "json", 37 | success: function (result) { 38 | $("#UploadForm").resetForm(); 39 | if (!result.Result) { 40 | project.AlertErrorMessage("錯誤", result.Msg); 41 | } 42 | else { 43 | $('#ResultContent').html(result.Msg); 44 | project.ShowMessageCallback("訊息", "檔案上傳完成, 點選「確認」後開始進行資料匯入", function () { 45 | current.ImportData(result.Msg); 46 | }); 47 | } 48 | }, 49 | error: function (xhr, textStatus, errorThrown) { 50 | $("#UploadForm").resetForm(); 51 | project.AlertErrorMessage("錯誤", "檔案上傳錯誤"); 52 | } 53 | }); 54 | }, 55 | 56 | ImportData: function (savedFileName) { 57 | /// 58 | /// 資料匯入 59 | /// 60 | /// 61 | 62 | $.ajax({ 63 | type: 'post', 64 | url: project.ActionUrls.Import, 65 | data: { savedFileName: savedFileName }, 66 | async: false, 67 | cache: false, 68 | dataType: 'json', 69 | success: function (data) { 70 | if (data.Msg) { 71 | project.AlertErrorMessage("錯誤", data.Msg); 72 | $('#UploadModal').modal('hide'); 73 | } 74 | else { 75 | project.ShowMessageCallback("訊息", "匯入完成", function () { 76 | $('#UploadModal').modal('hide'); 77 | window.location.reload(); 78 | }); 79 | } 80 | }, 81 | error: function () { 82 | project.AlertErrorMessage("錯誤", "資料匯入發生錯誤"); 83 | $('#UploadModal').modal('hide'); 84 | } 85 | }); 86 | }, 87 | 88 | ExportDate: function () { 89 | /// 90 | /// 資料匯出 91 | /// 92 | 93 | $.ajax({ 94 | type: 'post', 95 | url: project.ActionUrls.HasData, 96 | dataType: 'json', 97 | cache: false, 98 | async: false, 99 | success: function (data) { 100 | if (data.Msg) { 101 | current.HasData = data.Msg; 102 | if (current.HasData == 'False') { 103 | project.AlertErrorMessage("錯誤", "尚未建立任何資料, 無法匯出資料."); 104 | } 105 | else { 106 | window.location = project.ActionUrls.ExportData; 107 | } 108 | } 109 | }, 110 | error: function (xhr, textStatus, errorThrown) { 111 | $("#UploadForm").resetForm(); 112 | project.AlertErrorMessage("錯誤", "資料匯出錯誤"); 113 | } 114 | }); 115 | } 116 | 117 | }); 118 | }) 119 | (project); -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/project.extends.js: -------------------------------------------------------------------------------- 1 | //可在Javascript中使用如同C#中的string.format 2 | //使用方式 : var fullName = String.format('Hello. My name is {0} {1}.', 'Kevin', 'Tseng'); 3 | //Kevin 4 | //2011.07.07 5 | String.format = function () { 6 | var s = arguments[0]; 7 | if (s == null) return ""; 8 | 9 | for (var i = 0; i < arguments.length - 1; i++) { 10 | var reg = getStringFormatPlaceHolderRegEx(i); 11 | s = s.replace(reg, (arguments[i + 1] == null ? "" : arguments[i + 1])); 12 | } 13 | return cleanStringFormatResult(s); 14 | }; 15 | 16 | //可在Javascript中使用如同C#中的string.format (對jQuery String的擴充方法) 17 | //使用方式 : var fullName = 'Hello. My name is {0} {1}.'.format('Kevin', 'Tseng'); 18 | //Kevin 19 | //2011.07.07 20 | String.prototype.format = function () { 21 | var txt = this.toString(); 22 | for (var i = 0; i < arguments.length; i++) { 23 | var exp = getStringFormatPlaceHolderRegEx(i); 24 | txt = txt.replace(exp, (arguments[i] == null ? "" : arguments[i])); 25 | } 26 | return cleanStringFormatResult(txt); 27 | }; 28 | 29 | //讓輸入的字串可以包含{} 30 | //Kevin 31 | //2011.07.07 32 | getStringFormatPlaceHolderRegEx = function (placeHolderIndex) { 33 | return new RegExp('({)?\\{' + placeHolderIndex + '\\}(?!})', 'gm'); 34 | }; 35 | 36 | //當format格式有多餘的position時,就不會將多餘的position輸出 37 | //ex: 38 | // var fullName = 'Hello. My name is {0} {1} {2}.'.format('firstName', 'lastName'); 39 | // 輸出的 fullName 為 'firstName lastName', 而不會是 'firstName lastName {2}' 40 | //Kevin 41 | //2011.07.07 42 | cleanStringFormatResult = function (txt) { 43 | if (txt == null) return ""; 44 | return txt.replace(getStringFormatPlaceHolderRegEx("\\d+"), ""); 45 | }; 46 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/project.js: -------------------------------------------------------------------------------- 1 | //================================================================================================ 2 | /// Ps.如果你要新增給IntelliSense用的js檔案, 請加在該檔案中 3 | //================================================================================================ 4 | 5 | (function (window) { 6 | //=========================================================================================== 7 | if (typeof (jQuery) === 'undefined') { alert('jQuery Library NotFound.'); return; } 8 | 9 | var project = window.project = 10 | { 11 | AppName: 'project', 12 | ActionUrls: {} 13 | }; 14 | 15 | //=========================================================================================== 16 | 17 | jQuery.extend(project, { 18 | Initialize: function () { 19 | /// 20 | /// 初始化函式 21 | /// 22 | 23 | }, 24 | 25 | ShowMessage: function (title, message) { 26 | /// 27 | /// 使用 Bootbox.js 的訊息顯示 28 | /// 29 | /// 30 | /// 31 | 32 | bootbox.dialog({ 33 | title: title, 34 | message: message, 35 | buttons: { 36 | main: { 37 | label: "確認", 38 | className: "btn-primary" 39 | } 40 | } 41 | }); 42 | }, 43 | 44 | ShowMessageCallback: function (title, message, handlers) { 45 | /// 46 | /// 使用 Bootbox.js 的訊息顯示, 可加入 callback 47 | /// 48 | /// 49 | /// 50 | /// 51 | 52 | bootbox.dialog({ 53 | title: title, 54 | message: message, 55 | buttons: { 56 | main: { 57 | label: "確認", 58 | className: "btn-primary", 59 | callback: handlers 60 | } 61 | } 62 | }); 63 | }, 64 | 65 | AlertErrorMessage: function (title, message) { 66 | /// 67 | /// 使用 Bootbox.js 的錯誤訊息顯示 68 | /// 69 | /// 70 | /// 71 | 72 | bootbox.dialog({ 73 | title: title, 74 | message: message, 75 | buttons: { 76 | danger: { 77 | label: "確認", 78 | className: "btn-danger" 79 | } 80 | } 81 | }); 82 | }, 83 | 84 | AlertErrorMessageCallback: function (title, message, handlers) { 85 | /// 86 | /// 使用 Bootbox.js 的錯誤訊息顯示, 可加入 callback 87 | /// 88 | /// 89 | /// 90 | /// 91 | 92 | bootbox.dialog({ 93 | title: title, 94 | message: message, 95 | buttons: { 96 | danger: { 97 | label: "確認", 98 | className: "btn-danger", 99 | callback: handlers 100 | } 101 | } 102 | }); 103 | } 104 | }); 105 | 106 | 107 | $(document).ready(function () { 108 | //全域設定 109 | 110 | }); 111 | }) 112 | (window); 113 | 114 | (function (app) { 115 | //=========================================================================================== 116 | var current = app.Plugins = {}; 117 | //=========================================================================================== 118 | 119 | jQuery.extend(app.Plugins, 120 | { 121 | Initialize: function (actionUrls) { 122 | /// 123 | /// 初始化函式 124 | /// 125 | /// 126 | 127 | jQuery.extend(project.ActionUrls, actionUrls); 128 | } 129 | }); 130 | }) 131 | (project); -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/respond.js: -------------------------------------------------------------------------------- 1 | /* NUGET: BEGIN LICENSE TEXT 2 | * 3 | * Microsoft grants you the right to use these script files for the sole 4 | * purpose of either: (i) interacting through your browser with the Microsoft 5 | * website or online service, subject to the applicable licensing or use 6 | * terms; or (ii) using the files as included with a Microsoft product subject 7 | * to that product's license terms. Microsoft reserves all other rights to the 8 | * files not expressly granted by Microsoft, whether by implication, estoppel 9 | * or otherwise. Insofar as a script file is dual licensed under GPL, 10 | * Microsoft neither took the code under GPL nor distributes it thereunder but 11 | * under the terms set out in this paragraph. All notices and licenses 12 | * below are for informational purposes only. 13 | * 14 | * NUGET: END LICENSE TEXT */ 15 | /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ 16 | /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ 17 | window.matchMedia = window.matchMedia || (function(doc, undefined){ 18 | 19 | var bool, 20 | docElem = doc.documentElement, 21 | refNode = docElem.firstElementChild || docElem.firstChild, 22 | // fakeBody required for 23 | fakeBody = doc.createElement('body'), 24 | div = doc.createElement('div'); 25 | 26 | div.id = 'mq-test-1'; 27 | div.style.cssText = "position:absolute;top:-100em"; 28 | fakeBody.style.background = "none"; 29 | fakeBody.appendChild(div); 30 | 31 | return function(q){ 32 | 33 | div.innerHTML = '­'; 34 | 35 | docElem.insertBefore(fakeBody, refNode); 36 | bool = div.offsetWidth == 42; 37 | docElem.removeChild(fakeBody); 38 | 39 | return { matches: bool, media: q }; 40 | }; 41 | 42 | })(document); 43 | 44 | 45 | 46 | 47 | /*! Respond.js v1.2.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 48 | (function( win ){ 49 | //exposed namespace 50 | win.respond = {}; 51 | 52 | //define update even in native-mq-supporting browsers, to avoid errors 53 | respond.update = function(){}; 54 | 55 | //expose media query support flag for external use 56 | respond.mediaQueriesSupported = win.matchMedia && win.matchMedia( "only all" ).matches; 57 | 58 | //if media queries are supported, exit here 59 | if( respond.mediaQueriesSupported ){ return; } 60 | 61 | //define vars 62 | var doc = win.document, 63 | docElem = doc.documentElement, 64 | mediastyles = [], 65 | rules = [], 66 | appendedEls = [], 67 | parsedSheets = {}, 68 | resizeThrottle = 30, 69 | head = doc.getElementsByTagName( "head" )[0] || docElem, 70 | base = doc.getElementsByTagName( "base" )[0], 71 | links = head.getElementsByTagName( "link" ), 72 | requestQueue = [], 73 | 74 | //loop stylesheets, send text content to translate 75 | ripCSS = function(){ 76 | var sheets = links, 77 | sl = sheets.length, 78 | i = 0, 79 | //vars for loop: 80 | sheet, href, media, isCSS; 81 | 82 | for( ; i < sl; i++ ){ 83 | sheet = sheets[ i ], 84 | href = sheet.href, 85 | media = sheet.media, 86 | isCSS = sheet.rel && sheet.rel.toLowerCase() === "stylesheet"; 87 | 88 | //only links plz and prevent re-parsing 89 | if( !!href && isCSS && !parsedSheets[ href ] ){ 90 | // selectivizr exposes css through the rawCssText expando 91 | if (sheet.styleSheet && sheet.styleSheet.rawCssText) { 92 | translate( sheet.styleSheet.rawCssText, href, media ); 93 | parsedSheets[ href ] = true; 94 | } else { 95 | if( (!/^([a-zA-Z:]*\/\/)/.test( href ) && !base) 96 | || href.replace( RegExp.$1, "" ).split( "/" )[0] === win.location.host ){ 97 | requestQueue.push( { 98 | href: href, 99 | media: media 100 | } ); 101 | } 102 | } 103 | } 104 | } 105 | makeRequests(); 106 | }, 107 | 108 | //recurse through request queue, get css text 109 | makeRequests = function(){ 110 | if( requestQueue.length ){ 111 | var thisRequest = requestQueue.shift(); 112 | 113 | ajax( thisRequest.href, function( styles ){ 114 | translate( styles, thisRequest.href, thisRequest.media ); 115 | parsedSheets[ thisRequest.href ] = true; 116 | makeRequests(); 117 | } ); 118 | } 119 | }, 120 | 121 | //find media blocks in css text, convert to style blocks 122 | translate = function( styles, href, media ){ 123 | var qs = styles.match( /@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi ), 124 | ql = qs && qs.length || 0, 125 | //try to get CSS path 126 | href = href.substring( 0, href.lastIndexOf( "/" )), 127 | repUrls = function( css ){ 128 | return css.replace( /(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g, "$1" + href + "$2$3" ); 129 | }, 130 | useMedia = !ql && media, 131 | //vars used in loop 132 | i = 0, 133 | j, fullq, thisq, eachq, eql; 134 | 135 | //if path exists, tack on trailing slash 136 | if( href.length ){ href += "/"; } 137 | 138 | //if no internal queries exist, but media attr does, use that 139 | //note: this currently lacks support for situations where a media attr is specified on a link AND 140 | //its associated stylesheet has internal CSS media queries. 141 | //In those cases, the media attribute will currently be ignored. 142 | if( useMedia ){ 143 | ql = 1; 144 | } 145 | 146 | 147 | for( ; i < ql; i++ ){ 148 | j = 0; 149 | 150 | //media attr 151 | if( useMedia ){ 152 | fullq = media; 153 | rules.push( repUrls( styles ) ); 154 | } 155 | //parse for styles 156 | else{ 157 | fullq = qs[ i ].match( /@media *([^\{]+)\{([\S\s]+?)$/ ) && RegExp.$1; 158 | rules.push( RegExp.$2 && repUrls( RegExp.$2 ) ); 159 | } 160 | 161 | eachq = fullq.split( "," ); 162 | eql = eachq.length; 163 | 164 | for( ; j < eql; j++ ){ 165 | thisq = eachq[ j ]; 166 | mediastyles.push( { 167 | media : thisq.split( "(" )[ 0 ].match( /(only\s+)?([a-zA-Z]+)\s?/ ) && RegExp.$2 || "all", 168 | rules : rules.length - 1, 169 | hasquery: thisq.indexOf("(") > -1, 170 | minw : thisq.match( /\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ), 171 | maxw : thisq.match( /\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/ ) && parseFloat( RegExp.$1 ) + ( RegExp.$2 || "" ) 172 | } ); 173 | } 174 | } 175 | 176 | applyMedia(); 177 | }, 178 | 179 | lastCall, 180 | 181 | resizeDefer, 182 | 183 | // returns the value of 1em in pixels 184 | getEmValue = function() { 185 | var ret, 186 | div = doc.createElement('div'), 187 | body = doc.body, 188 | fakeUsed = false; 189 | 190 | div.style.cssText = "position:absolute;font-size:1em;width:1em"; 191 | 192 | if( !body ){ 193 | body = fakeUsed = doc.createElement( "body" ); 194 | body.style.background = "none"; 195 | } 196 | 197 | body.appendChild( div ); 198 | 199 | docElem.insertBefore( body, docElem.firstChild ); 200 | 201 | ret = div.offsetWidth; 202 | 203 | if( fakeUsed ){ 204 | docElem.removeChild( body ); 205 | } 206 | else { 207 | body.removeChild( div ); 208 | } 209 | 210 | //also update eminpx before returning 211 | ret = eminpx = parseFloat(ret); 212 | 213 | return ret; 214 | }, 215 | 216 | //cached container for 1em value, populated the first time it's needed 217 | eminpx, 218 | 219 | //enable/disable styles 220 | applyMedia = function( fromResize ){ 221 | var name = "clientWidth", 222 | docElemProp = docElem[ name ], 223 | currWidth = doc.compatMode === "CSS1Compat" && docElemProp || doc.body[ name ] || docElemProp, 224 | styleBlocks = {}, 225 | lastLink = links[ links.length-1 ], 226 | now = (new Date()).getTime(); 227 | 228 | //throttle resize calls 229 | if( fromResize && lastCall && now - lastCall < resizeThrottle ){ 230 | clearTimeout( resizeDefer ); 231 | resizeDefer = setTimeout( applyMedia, resizeThrottle ); 232 | return; 233 | } 234 | else { 235 | lastCall = now; 236 | } 237 | 238 | for( var i in mediastyles ){ 239 | var thisstyle = mediastyles[ i ], 240 | min = thisstyle.minw, 241 | max = thisstyle.maxw, 242 | minnull = min === null, 243 | maxnull = max === null, 244 | em = "em"; 245 | 246 | if( !!min ){ 247 | min = parseFloat( min ) * ( min.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); 248 | } 249 | if( !!max ){ 250 | max = parseFloat( max ) * ( max.indexOf( em ) > -1 ? ( eminpx || getEmValue() ) : 1 ); 251 | } 252 | 253 | // if there's no media query at all (the () part), or min or max is not null, and if either is present, they're true 254 | if( !thisstyle.hasquery || ( !minnull || !maxnull ) && ( minnull || currWidth >= min ) && ( maxnull || currWidth <= max ) ){ 255 | if( !styleBlocks[ thisstyle.media ] ){ 256 | styleBlocks[ thisstyle.media ] = []; 257 | } 258 | styleBlocks[ thisstyle.media ].push( rules[ thisstyle.rules ] ); 259 | } 260 | } 261 | 262 | //remove any existing respond style element(s) 263 | for( var i in appendedEls ){ 264 | if( appendedEls[ i ] && appendedEls[ i ].parentNode === head ){ 265 | head.removeChild( appendedEls[ i ] ); 266 | } 267 | } 268 | 269 | //inject active styles, grouped by media type 270 | for( var i in styleBlocks ){ 271 | var ss = doc.createElement( "style" ), 272 | css = styleBlocks[ i ].join( "\n" ); 273 | 274 | ss.type = "text/css"; 275 | ss.media = i; 276 | 277 | //originally, ss was appended to a documentFragment and sheets were appended in bulk. 278 | //this caused crashes in IE in a number of circumstances, such as when the HTML element had a bg image set, so appending beforehand seems best. Thanks to @dvelyk for the initial research on this one! 279 | head.insertBefore( ss, lastLink.nextSibling ); 280 | 281 | if ( ss.styleSheet ){ 282 | ss.styleSheet.cssText = css; 283 | } 284 | else { 285 | ss.appendChild( doc.createTextNode( css ) ); 286 | } 287 | 288 | //push to appendedEls to track for later removal 289 | appendedEls.push( ss ); 290 | } 291 | }, 292 | //tweaked Ajax functions from Quirksmode 293 | ajax = function( url, callback ) { 294 | var req = xmlHttp(); 295 | if (!req){ 296 | return; 297 | } 298 | req.open( "GET", url, true ); 299 | req.onreadystatechange = function () { 300 | if ( req.readyState != 4 || req.status != 200 && req.status != 304 ){ 301 | return; 302 | } 303 | callback( req.responseText ); 304 | } 305 | if ( req.readyState == 4 ){ 306 | return; 307 | } 308 | req.send( null ); 309 | }, 310 | //define ajax obj 311 | xmlHttp = (function() { 312 | var xmlhttpmethod = false; 313 | try { 314 | xmlhttpmethod = new XMLHttpRequest(); 315 | } 316 | catch( e ){ 317 | xmlhttpmethod = new ActiveXObject( "Microsoft.XMLHTTP" ); 318 | } 319 | return function(){ 320 | return xmlhttpmethod; 321 | }; 322 | })(); 323 | 324 | //translate CSS 325 | ripCSS(); 326 | 327 | //expose update for re-running respond later on 328 | respond.update = ripCSS; 329 | 330 | //adjust on resize 331 | function callMedia(){ 332 | applyMedia( true ); 333 | } 334 | if( win.addEventListener ){ 335 | win.addEventListener( "resize", callMedia, false ); 336 | } 337 | else if( win.attachEvent ){ 338 | win.attachEvent( "onresize", callMedia ); 339 | } 340 | })(this); 341 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Scripts/respond.min.js: -------------------------------------------------------------------------------- 1 | /* NUGET: BEGIN LICENSE TEXT 2 | * 3 | * Microsoft grants you the right to use these script files for the sole 4 | * purpose of either: (i) interacting through your browser with the Microsoft 5 | * website or online service, subject to the applicable licensing or use 6 | * terms; or (ii) using the files as included with a Microsoft product subject 7 | * to that product's license terms. Microsoft reserves all other rights to the 8 | * files not expressly granted by Microsoft, whether by implication, estoppel 9 | * or otherwise. Insofar as a script file is dual licensed under GPL, 10 | * Microsoft neither took the code under GPL nor distributes it thereunder but 11 | * under the terms set out in this paragraph. All notices and licenses 12 | * below are for informational purposes only. 13 | * 14 | * NUGET: END LICENSE TEXT */ 15 | /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ 16 | /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ 17 | window.matchMedia=window.matchMedia||(function(e,f){var c,a=e.documentElement,b=a.firstElementChild||a.firstChild,d=e.createElement("body"),g=e.createElement("div");g.id="mq-test-1";g.style.cssText="position:absolute;top:-100em";d.style.background="none";d.appendChild(g);return function(h){g.innerHTML='­';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document); 18 | 19 | /*! Respond.js v1.2.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ 20 | (function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this); -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Home/About.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "About"; 3 | } 4 |

    @ViewBag.Title.

    5 |

    @ViewBag.Message

    6 | 7 |

    Use this area to provide additional information.

    8 | 9 | 10 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Home/Contact.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Contact"; 3 | } 4 |

    @ViewBag.Title.

    5 |

    @ViewBag.Message

    6 | 7 |
    8 | One Microsoft Way
    9 | Redmond, WA 98052-6399
    10 | P: 11 | 425.555.0100 12 |
    13 | 14 |
    15 | Support: Support@example.com
    16 | Marketing: Marketing@example.com 17 |
    -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "Home Page"; 3 | } 4 | 5 |
    6 |

    ASP.NET

    7 |

    ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.

    8 |

    Learn more »

    9 |
    10 | 11 |
    12 |
    13 |

    Getting started

    14 |

    15 | ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that 16 | enables a clean separation of concerns and gives you full control over markup 17 | for enjoyable, agile development. 18 |

    19 |

    Learn more »

    20 |
    21 |
    22 |

    Get more libraries

    23 |

    NuGet is a free Visual Studio extension that makes it easy to add, remove, and update libraries and tools in Visual Studio projects.

    24 |

    Learn more »

    25 |
    26 |
    27 |

    Web Hosting

    28 |

    You can easily find a web hosting company that offers the right mix of features and price for your applications.

    29 |

    Learn more »

    30 |
    31 |
    -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = null; 3 | } 4 | 5 | 6 | 7 | 8 | 9 | 10 | 錯誤 11 | 12 | 13 |
    14 |

    錯誤。

    15 |

    處理您的要求時發生錯誤。

    16 |
    17 | 18 | 19 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | @ViewBag.Title - 我的 ASP.NET 應用程式 8 | @Styles.Render("~/Content/css") 9 | @Scripts.Render("~/bundles/modernizr") 10 | 11 | 12 | 31 |
    32 | @RenderBody() 33 |
    34 |
    35 |

    © @DateTime.Now.Year - 我的 ASP.NET 應用程式

    36 |
    37 |
    38 | 39 | @Scripts.Render("~/bundles/jquery") 40 | @Scripts.Render("~/bundles/bootstrap") 41 | @RenderSection("scripts", required: false) 42 | 43 | 44 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 |
    7 |
    8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/ZipCode/Index.cshtml: -------------------------------------------------------------------------------- 1 | @using PagedList.Mvc 2 | @model PagedList.IPagedList 3 | 4 | @{ 5 | ViewBag.Title = "Index"; 6 | } 7 | 8 |

    台灣三碼郵遞區號

    9 | 10 |
    11 | 14 | 17 |
    18 | 19 | @Html.PagedListPager(Model, page => Url.Action("Index", new { page })) 20 | 21 | 22 | 23 | 26 | 29 | 32 | 35 | 38 | 41 | 42 | 43 | @foreach (var item in Model) 44 | { 45 | 46 | 49 | 52 | 55 | 58 | 61 | 64 | 65 | } 66 | 67 |
    24 | @Html.DisplayNameFor(model => model.FirstOrDefault().ID) 25 | 27 | @Html.DisplayNameFor(model => model.FirstOrDefault().Zip) 28 | 30 | @Html.DisplayNameFor(model => model.FirstOrDefault().CityName) 31 | 33 | @Html.DisplayNameFor(model => model.FirstOrDefault().Town) 34 | 36 | @Html.DisplayNameFor(model => model.FirstOrDefault().Sequence) 37 | 39 | @Html.DisplayNameFor(model => model.FirstOrDefault().CreateDate) 40 |
    47 | @Html.DisplayFor(modelItem => item.ID) 48 | 50 | @Html.DisplayFor(modelItem => item.Zip) 51 | 53 | @Html.DisplayFor(modelItem => item.CityName) 54 | 56 | @Html.DisplayFor(modelItem => item.Town) 57 | 59 | @Html.DisplayFor(modelItem => item.Sequence) 60 | 62 | @Html.DisplayFor(modelItem => item.CreateDate) 63 |
    68 | 69 | @Html.Partial("_UploadFile") 70 | 71 | @section scripts 72 | { 73 | 74 | 75 | 76 | 77 | 78 | 89 | } 90 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/ZipCode/_UploadFile.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 35 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "~/Views/Shared/_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Web.Debug.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Web.Release.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 |
    10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Antlr3.Runtime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Antlr3.Runtime.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Antlr3.Runtime.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Antlr3.Runtime.pdb -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/BlogSample.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/BlogSample.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/BlogSample.dll.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 |
    10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/BlogSample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/BlogSample.pdb -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/ClosedXML.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/ClosedXML.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/DocumentFormat.OpenXml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/DocumentFormat.OpenXml.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/EntityFramework.SqlServer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/EntityFramework.SqlServer.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/EntityFramework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/EntityFramework.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/LinqToExcel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/LinqToExcel.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Microsoft.Web.Infrastructure.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Microsoft.Web.Infrastructure.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/PagedList.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/PagedList.Mvc.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/PagedList.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/PagedList.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Remotion.Data.Linq.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Remotion.Data.Linq.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Remotion.Interfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Remotion.Interfaces.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/Remotion.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/Remotion.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.Helpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.Helpers.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.Mvc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.Mvc.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.Optimization.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.Optimization.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.Razor.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.WebPages.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.WebPages.Deployment.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.WebPages.Deployment.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Web.WebPages.Deployment 5 | 6 | 7 | 8 | Provides a registration point for pre-application start code for Web Pages deployment. 9 | 10 | 11 | Registers pre-application start code for Web Pages deployment. 12 | 13 | 14 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Provides methods that are used to get deployment information about the Web application. 15 | 16 | 17 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly path for the Web Pages deployment. 18 | The assembly path for the Web Pages deployment. 19 | The Web Pages version. 20 | 21 | 22 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version from the given binary path. 23 | The Web Pages version. 24 | The binary path for the Web Pages. 25 | 26 | 27 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the assembly references from the given path regardless of the Web Pages version. 28 | The dictionary containing the assembly references of the Web Pages and its version. 29 | The path to the Web Pages application. 30 | 31 | 32 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the maximum version of the Web Pages loaded assemblies. 33 | The maximum version of the Web Pages loaded assemblies. 34 | 35 | 36 | Gets the Web Pages version from the given path. 37 | The Web Pages version. 38 | The path of the root directory for the application. 39 | 40 | 41 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the Web Pages version using the configuration settings with the specified path. 42 | The Web Pages version. 43 | The path to the application settings. 44 | 45 | 46 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Returns the assemblies for this Web Pages deployment. 47 | A list containing the assemblies for this Web Pages deployment. 48 | 49 | 50 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is enabled. 51 | true if the Web Pages deployment is enabled; otherwise, false. 52 | The path to the Web Pages deployment. 53 | 54 | 55 | This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the Web Pages deployment is explicitly disabled. 56 | true if the Web Pages deployment is explicitly disabled; otherwise, false. 57 | The path to the Web Pages deployment. 58 | 59 | 60 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.WebPages.Razor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.WebPages.Razor.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/System.Web.WebPages.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/System.Web.WebPages.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/WebGrease.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/WebGrease.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/log4net.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/log4net.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Helpers.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Helpers.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Mvc.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Mvc.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Optimization.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Optimization.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Razor.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.Razor.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.Deployment.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.Deployment.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.Razor.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.Razor.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.resources.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/bin/zh-Hant/System.Web.WebPages.resources.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/favicon.ico -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/BlogSample.csproj.FileListAbsolute.txt: -------------------------------------------------------------------------------- 1 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\BlogSample.dll.config 2 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\BlogSample.dll 3 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\BlogSample.pdb 4 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Antlr3.Runtime.dll 5 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\ClosedXML.dll 6 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\DocumentFormat.OpenXml.dll 7 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\EntityFramework.dll 8 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\EntityFramework.SqlServer.dll 9 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\LinqToExcel.dll 10 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\log4net.dll 11 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Microsoft.Web.Infrastructure.dll 12 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Newtonsoft.Json.dll 13 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\PagedList.dll 14 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\PagedList.Mvc.dll 15 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Remotion.Data.Linq.dll 16 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Remotion.dll 17 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Remotion.Interfaces.dll 18 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Helpers.dll 19 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Mvc.dll 20 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Optimization.dll 21 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Razor.dll 22 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.Deployment.dll 23 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.dll 24 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.Razor.dll 25 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\WebGrease.dll 26 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\ClosedXML.xml 27 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\EntityFramework.xml 28 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\EntityFramework.SqlServer.xml 29 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\LinqToExcel.xml 30 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\PagedList.xml 31 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\PagedList.Mvc.xml 32 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Helpers.xml 33 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Mvc.xml 34 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Optimization.xml 35 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.Razor.xml 36 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.xml 37 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.Deployment.xml 38 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\System.Web.WebPages.Razor.xml 39 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Antlr3.Runtime.pdb 40 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\Newtonsoft.Json.xml 41 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.Helpers.resources.dll 42 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.Mvc.resources.dll 43 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.Optimization.resources.dll 44 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.Razor.resources.dll 45 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.WebPages.resources.dll 46 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.WebPages.Deployment.resources.dll 47 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\bin\zh-Hant\System.Web.WebPages.Razor.resources.dll 48 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\obj\Debug\BlogSample.dll 49 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\BlogSample\BlogSample\obj\Debug\BlogSample.pdb 50 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\BlogSample.dll.config 51 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\BlogSample.dll 52 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\BlogSample.pdb 53 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Antlr3.Runtime.dll 54 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\ClosedXML.dll 55 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\DocumentFormat.OpenXml.dll 56 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\EntityFramework.dll 57 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\EntityFramework.SqlServer.dll 58 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\LinqToExcel.dll 59 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\log4net.dll 60 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Microsoft.Web.Infrastructure.dll 61 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Newtonsoft.Json.dll 62 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\PagedList.dll 63 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\PagedList.Mvc.dll 64 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Remotion.Data.Linq.dll 65 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Remotion.dll 66 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Remotion.Interfaces.dll 67 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Helpers.dll 68 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Mvc.dll 69 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Optimization.dll 70 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Razor.dll 71 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.Deployment.dll 72 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.dll 73 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.Razor.dll 74 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\WebGrease.dll 75 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\ClosedXML.xml 76 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\EntityFramework.xml 77 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\EntityFramework.SqlServer.xml 78 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\LinqToExcel.xml 79 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\PagedList.xml 80 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\PagedList.Mvc.xml 81 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Helpers.xml 82 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Mvc.xml 83 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Optimization.xml 84 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.Razor.xml 85 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.xml 86 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.Deployment.xml 87 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\System.Web.WebPages.Razor.xml 88 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Antlr3.Runtime.pdb 89 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\Newtonsoft.Json.xml 90 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.Helpers.resources.dll 91 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.Mvc.resources.dll 92 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.Optimization.resources.dll 93 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.Razor.resources.dll 94 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.WebPages.resources.dll 95 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.WebPages.Deployment.resources.dll 96 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\bin\zh-Hant\System.Web.WebPages.Razor.resources.dll 97 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\obj\Debug\BlogSample.dll 98 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\obj\Debug\BlogSample.pdb 99 | E:\Develope\Lab\ASP.NET MVC - Excel Import and Export\Simple_Sample\BlogSample\obj\Debug\BlogSample.csprojResolveAssemblyReference.cache 100 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/BlogSample.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/BlogSample.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/BlogSample.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/BlogSample.dll -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/BlogSample.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/BlogSample.pdb -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/edmxResourcesToEmbed/Models/Model1.csdl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/edmxResourcesToEmbed/Models/Model1.msl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Debug/edmxResourcesToEmbed/Models/Model1.ssdl: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/obj/Release/BlogSample.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Simple_Sample/BlogSample/obj/Release/BlogSample.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /Simple_Sample/BlogSample/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Taiwan_ZipCode.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Taiwan_ZipCode.xls -------------------------------------------------------------------------------- /Taiwan_ZipCode_Error.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kevintsengtw/MVC-Excel-Import-Export/d330997f1cdaad43177dafe8b099733c09543025/Taiwan_ZipCode_Error.xls --------------------------------------------------------------------------------