檢視 ASP.NET MVC 的原始碼
←
ASP.NET MVC
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
'''ASP.NET MVC''',{{wikipedia|ASP.NET_MVC|lang=en}} * ASP.NET MVC 是一個 Model-View-Controller (MVC) framework 從 ASP.NET 4.0 開始正式使用。 *[https://github.com/aspnet/AspNetWebStack GitHub - aspnet/AspNetWebStack: ASP.NET MVC 5.x, Web API 2.x, and Web Pages 3.x (not ASP.NET Core)] ==技術文件== *[https://docs.microsoft.com/zh-tw/aspnet/mvc/ ASP.NET MVC | Microsoft Docs] *[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc System.Web.Mvc Namespace | Microsoft Docs] <!-- *[http://www.asp.net/mvc/ ASP.NET MVC]是一個 Model-View-Controller (MVC) framework 從 ASP.NET 4.0 開始正式使用。 *[http://www.codeplex.com/aspnet/Wiki/View.aspx?title=MVC&referringTitle=Home ASP.NET MVC - codeplex] ==版本== {| class="wikitable" |- !版本!!正式釋出日期!!技術文件||相關下載 |- |ASP.NET MVC 1.0||2009年3月13日|| *[http://msdn.microsoft.com/en-us/library/dd394709%28v=vs.90%29 ASP.NET MVC 1.0] | *[http://www.microsoft.com/downloads/details.aspx?familyid=53289097-73CE-43BF-B6A6-35E00103CB4B&displaylang=en ASP.NET MVC 1.0](2009/4/9) *[http://www.microsoft.com/downloads/details.aspx?familyid=1E0BE0B2-910A-4676-9F3A-41E4D9C0FC08&displaylang=en ASP.NET MVC Training Kit](2009/3/27) |- |ASP.NET MVC 2||2010年3月10日|| *[http://msdn.microsoft.com/en-us/library/dd394709 ASP.NET MVC 2] | *[http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3b537c55-0948-4e6a-bf8c-aa1a78878da0&displaylang=en ASP.NET MVC 2 RC](2009/12/16) *[http://www.microsoft.com/downloads/en/details.aspx?FamilyID=7ABA081A-19B9-44C4-A247-3882C8F749E3 ASP.NET MVC 2 RC 2](2010/02/04) *[http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c9ba1fe1-3ba8-439a-9e21-def90a8615a9&displaylang=en ASP.NET MVC 2 RTM](2010/03/12) |- |ASP.NET MVC 3||2011年1月13日|| *[http://msdn.microsoft.com/en-us/library/gg416514%28v=vs.98%29 ASP.NET MVC 3] *[http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3 ASP.NET MVC3 - Tutorials] | *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/3.0.20105.1 Microsoft ASP.NET MVC 3 3.0.20105.1 - NuGet] *[http://aspnet.codeplex.com/releases/view/54306 ASP.NET MVC 3 Beta](2010/10/06) *[http://go.microsoft.com/fwlink/?LinkID=191797 ASP.NET MVC 3 RC](2010/11/08) *[http://www.microsoft.com/download/en/details.aspx?id=4211 ASP.NET MVC 3 RTM](2011/1/12) **[http://www.microsoft.com/download/en/details.aspx?id=1491 ASP.NET MVC 3 Tools Update](2011/4/11) |- |ASP.NET MVC 4||2012年8月15日|| *[http://msdn.microsoft.com/en-us/library/gg416514%28v=vs.108%29 ASP.NET MVC 4] *[http://www.asp.net/mvc/mvc4 ASP.NET MVC 4] *[http://www.asp.net/mvc/tutorials/mvc-4 ASP.NET MVC4 - Tutorials] | *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/4.0.20710 Microsoft ASP.NET MVC 4 4.0.20710 - NuGet] *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/4.0.30506 Microsoft ASP.NET MVC 4 4.0.30506 - NuGet] |- |ASP.NET MVC 5||2013年10月17日|| *[http://www.asp.net/mvc/mvc5 ASP.NET MVC 5] *[http://www.asp.net/mvc/tutorials/mvc-5 ASP.NET MVC5 - Tutorials] *{{msdn|dn448362|ASP.NET MVC5}} | *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/5.0.0 Microsoft ASP.NET MVC 5.0.0 - NuGet] |- |ASP.NET MVC 5.1||2014年1月17日|| *[http://www.asp.net/mvc/overview/releases/mvc51-release-notes What's New in ASP.NET MVC 5.1] | *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/5.1.0 Microsoft ASP.NET MVC 5.1.0 - NuGet] |- |ASP.NET MVC 5.2||2014年12月25日|| *[http://www.asp.net/mvc/overview/releases/whats-new-in-aspnet-mvc-52 What's New in ASP.NET MVC 5.2] | *[http://www.nuget.org/packages/Microsoft.AspNet.Mvc/5.2.0 Microsoft ASP.NET MVC 5.2.0 - NuGet] |- |ASP.NET MVC 6.0|| || * | * |- |} ==技術文件== ;相關教學 *[http://www.asp.net/mvc/tutorials ASP.NET MVC - Tutorials] *[http://www.w3schools.com/aspnet/mvc_intro.asp ASP.NET MVC Tutorial] - w3schools *[http://msdn.microsoft.com/zh-tw/library/dd394709.aspx ASP.NET 模型檢視控制器 (MVC)] *[http://www.microsoft.com/en-us/download/details.aspx?id=36476 ASP.NET Web API HTTP Message Lifecycle] *[https://skydrive.live.com/view.aspx?cid=CE50199D9432EA57&resid=CE50199D9432EA57!1995 ASP.NET MVC3 性能優化] **[https://skydrive.live.com/?cid=ce50199d9432ea57&id=CE50199D9432EA57!1994 相關檔案] *[http://trainingkit.webcamps.ms/AspNetMvc.htm Web Camps Training Kit] **[http://www.microsoft.com/en-us/download/details.aspx?id=24629 Microsoft Web Camps Training Kit] *[http://kevintsengtw.blogspot.tw/2012/04/aspnet-mvc-part1.html ASP.NET MVC 學習資源整理 Part.1 ] - mrkt 的程式學習筆記 *[http://blog.miniasp.com/post/2008/12/18/ASPNET-MVC-Learning-Resources.aspx ASP.NET MVC 學習資源整理] - Will 保哥的技術交流中心 *[https://ithelp.ithome.com.tw/users/20105694/ironman/1329?page=1 ASP.NET MVC網頁程式介紹 :: 2018 iT 邦幫忙鐵人賽] ;其它 *[http://blog.miniasp.com/post/2013/06/24/ASPNET-MVC-4-IIS-runAllManagedModulesForAllRequests-ExtensionlessUrlHandler.aspx ASP.NET MVC 4 在 .NET 4.0 與 .NET 4.5 的專案範本差異] - The Will Will Web *[http://blogs.msdn.com/b/msdntaiwan/archive/2013/09/09/one-aspnet-development-aspnet-mvc-5.aspx One ASP.NET及完美的開發體驗 - ASP.NET MVC 5] ==View engines== *[http://mvccontrib.codeplex.com/ MvcContrib] *[http://code.google.com/p/string-template-view-engine-mvc/ StringTemplate View Engine] *[http://dev.dejardin.org/home Spark] *[http://ndjango.org/index.php?title=NDjango_Home NDjango] *[http://en.wikipedia.org/wiki/Naked_Objects_MVC Naked Objects MVC] *[http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx Razor](預計ASP.NET MVC 3.0導入) //--> ==應用== ===資料分頁=== *[http://www.nuget.org/packages/PagedList.Mvc/ PagedList.Mvc] **[https://kevintsengtw.blogspot.com/2013/10/aspnet-mvc-pagedlistmvc.html mrkt 的程式學習筆記: ASP.NET MVC 資料分頁 - 使用 PagedList.Mvc] *[http://www.nuget.org/packages/MvcPaging/ MvcPaging] **[https://kevintsengtw.blogspot.com/2012/07/aspnet-mvc-mvcpaging-20-part1form.html 的程式學習筆記: ASP.NET MVC 資料分頁 MVCPaging 2.0 應用 Part.1:一般、表單(Form)] ===WYSIWYG HTML Editors=== *[https://kevintsengtw.blogspot.com/2011/12/aspnet-mvc-3-ckeditor.html mrkt 的程式學習筆記: ASP.NET MVC 3 使用 CKEditor] <!-- ===Controls Toolkit=== *[http://nuget.org/packages/microsoft-web-helpers/ ASP.NET Web Helpers Library] *[http://mvccontrolstoolkit.codeplex.com/ MVC Controls Toolkit](ASP.NET MVC 2~4適用) *[http://mvcjquerycontrols.codeplex.com/ jQuery ASP.Net MVC Controls](ASP.NET MVC 3適用) *[http://jqueryuihelpers.apphb.com/Docmo/GettingStarted jQuery UI Helpers](ASP.NET MVC 3/4適用) *[http://www.telerik.com/products/aspnet-mvc.aspx Telerik Extensions for ASP.NET MVC] ** [http://demos.telerik.com/aspnet-mvc/ Demo] ===部落格(Blog)=== *[http://oxite.codeplex.com/ Oxite] ===行事曆(Calendar)=== *[http://www.codeproject.com/Articles/148500/Event-Calendar-for-an-ASP-NET-MVC-Application Event Calendar for an ASP.NET MVC Application](MVC2的寫法?) ===內容管理系統(CMS)=== *[http://n2cms.codeplex.com/ N2 CMS] - ''is a lightweight CMS framework.'' *[http://kooboo.codeplex.com/ Kooboo CMS 4.0] - ''is based on the ASP.NET MVC 4 framework and Microsoft Metro Style UI.'' ===討論區(Forums)=== *[http://popforums.codeplex.com/ POP Forums] ===留言版(Guestbook)=== *[http://blog.maartenballiauw.be/page/ASPNET-MVC-Guestbook.aspx ASP.NET MVC Guestbook](MVC2的寫法?) ===WYSIWYG HTML Editors=== *[http://kevintsengtw.blogspot.tw/2011/12/aspnet-mvc-3-ckeditor.html mrkt 的程式學習筆記: ASP.NET MVC 3 使用 CKEditor] *[http://tinymcefckfilemanger.codeplex.com/ TinyMCE with FCKEditor File Upload Manager in ASP.NET MVC 3] ===其它範例專案=== *[http://mvcmusicstore.codeplex.com/ MVC Music Store] *[http://nerddinner.codeplex.com/ Nerd Dinner] *[http://mvc.tw/Event Mvc.tw活動紀錄](從#1開始提供範例檔案與投影片) //--> ==FAQ== ===ASP.NET WebForm 與 ASP.NET MVC 共存=== *參照: **[http://blog.miniasp.com/post/2010/02/22/ASPNET-MVC-Developer-Note-Part-15-Running-under-WebSite-Project.aspx ASP.NET MVC 開發心得分享 (16):在網站專案下運作] # 先開1個ASP.NET MVC4應用程式專案, 再從專案裡加入Web # 在Web裡,建立 App_Code 資料夾,把App_Start、Controllers、Filters、Models 等資料夾都搬進去 # 使用NuGet把Web加入MVC4應用程式所引用的套件(已安裝套件→全部→管理) # 改寫 Global.asax 成單一檔案 <source lang="csharp"> <%@ Application Language="C#" %> <script runat="server"> void Application_Start(object sender, EventArgs e) { // 應用程式啟動時執行的程式碼 //TODO: System.Data.Entity.Database.SetInitializer<MvcApp1.Models.UsersContext>(null); //TODO: 預設 AreaRegistration.RegisterAllAreas(); MvcApp1.WebApiConfig.Register(System.Web.Http.GlobalConfiguration.Configuration); MvcApp1.FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); MvcApp1.RouteConfig.RegisterRoutes(RouteTable.Routes); MvcApp1.BundleConfig.RegisterBundles(BundleTable.Bundles); MvcApp1.AuthConfig.RegisterAuth(); Application.Lock(); //線上人數 Application["CountOfOnline"] = 0; Application.UnLock(); } void Application_End(object sender, EventArgs e) { // 應用程式關閉時執行的程式碼 } void Application_Error(object sender, EventArgs e) { // 發生未處理錯誤時執行的程式碼 } void Session_Start(object sender, EventArgs e) { // 啟動新工作階段時執行的程式碼 Application.Lock(); int CountOfOnline = int.Parse(Application["CountOfOnline"].ToString()); CountOfOnline++; Application["CountOfOnline"] = CountOfOnline; Application.UnLock(); } void Session_End(object sender, EventArgs e) { // 工作階段結束時執行的程式碼。 // 注意: 只有在 Web.config 檔將 sessionstate 模式設定為 InProc 時, // 才會引發 Session_End 事件。如果將工作階段模式設定為 StateServer // 或 SQLServer,就不會引發這個事件。 Application.Lock(); int CountOfOnline = int.Parse(Application["CountOfOnline"].ToString()); CountOfOnline--; Application["CountOfOnline"] = CountOfOnline; Application.UnLock(); } </script> </source> *其它,改寫 \App_Code\App_Start\RouteConfig.cs <source lang="csharp"> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApp1 { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { //TODO: ASP.NET WebForm 相關 routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); routes.IgnoreRoute("{resource}.ashx/{*pathInfo}"); routes.IgnoreRoute("{resource}.ascx/{*pathInfo}"); //TODO: 預設 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } } </source> *其它,改寫 Web.config *:{{see|Web.config#ASP.NET 4.0 WebForm與MVC4併存(含CrystalReport for VS 2010)}} *參照: **[http://blog.sina.com.cn/s/blog_6e09b50f01013hft.html http://blog.sina.com.cn/s/blog_6e09b50f01013hft.html 在 ASP.NET MVC 项目中使用 WebForm] **[http://www.ejutuo.com/bbs/thread-595-1-1.html ASP.NET MVC3和传统WebForm共存时,Chart控件无法显示的解决办法] ===ASP.NET MVC4 登入驗證相關=== ;關掉預設的登入驗證處理 *在Web.config裡的<appSettings>區塊中加上 <add key="enableSimpleMembership" value="false"/> <add key="autoFormsAuthentication" value="false"/> ;使用Facebook或Twitter帳號登入 *[http://blogs.msdn.com/b/webdev/archive/2012/08/15/oauth-openid-support-for-webforms-mvc-and-webpages.aspx OAuth/OpenID Support for WebForms, MVC and WebPages] ===從ASP.NET WebFrom轉移到MVC=== *[http://msdn.microsoft.com/en-us/magazine/jj991978.aspx Migrating ASP.NET Web Forms to the MVC Pattern with the ASP.NET Web API] *[[從ASP.NET WebFrom轉移到MVC]] === Model 相關 === *引用 using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; ====資料類型相關==== *參照: :*{{msdn|System.ComponentModel.DataAnnotations.DataTypeAttribute}} :*{{msdn|System.ComponentModel.DataAnnotations.DataType}} {| width="100%" class="wikitable" |- !SQL資料類型 !Model欄位定義範例(C#) !Model欄位定義範例(VB.NET) |- |bit |<pre> [DisplayName("欄位名稱")] [Column(TypeName = "bit")] public bool FieldName { get; set; } </pre> |<pre> <DisplayName("欄位名稱")> _ <Column(TypeName = "bit")> _ Public Property FieldName() As Boolean </pre> |- |date |<pre> [DisplayName("欄位名稱")] [DataType(DataType.DateTime)] [Column(TypeName = "Date")] [DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}", ApplyFormatInEditMode = true)] public DateTime FieldName { get; set; } </pre> |<pre> <DisplayName("欄位名稱")> _ <DataType(DataType.DateTime)]> _ <Column(TypeName = "Date")> _ <DisplayFormat(DataFormatString = "{0:yyyy/MM/dd}", ApplyFormatInEditMode = true)> _ Public Property FieldName() As DatrTime </pre> |- |money |<pre> [DisplayName("欄位名稱")] [DataType(DataType.Currency)] [Column(TypeName = "Money")] public Decimal FieldName { get; set; } </pre> |<pre> <DisplayName("欄位名稱")> _ <DataType(DataType.Currency)> _ <Column(TypeName = "Money")> _ Public Property FieldName() As Decimal </pre> |- |nvarchar(max) |<pre> [DisplayName("欄位名稱")] [StringLength(4000)] public string FieldName { get; set; } </pre> |<pre> <DisplayName("欄位名稱")> _ <StringLength(4000)> _ Public Property FieldName() As String </pre> |- |} ====驗證相關==== *必須填寫 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.requiredattribute RequiredAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *字串長度 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.stringlengthattribute StringLengthAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *數值範圍 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.rangeattribute RangeAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *規則運算 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.regularexpressionattribute RegularExpressionAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] ====其他Model宣告相關==== *資料表名稱 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.schema.tableattribute TableAttribute 類別 (System.ComponentModel.DataAnnotations.Schema) | Microsoft Docs] *資料表內的欄位名稱 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.schema.columnattribute ColumnAttribute 類別 (System.ComponentModel.DataAnnotations.Schema) | Microsoft Docs] [Column("欄位名稱")] 或 [Column("欄位名稱", TypeName = "資料類型")] *欄位顯示名稱 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.displaynameattribute DisplayNameAttribute 類別 (System.ComponentModel) | Microsoft Docs] *顯示格式 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.displayformatattribute DisplayFormatAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *能否編輯 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.editableattribute EditableAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *索引用欄位 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.keyattribute KeyAttribute 類別 (System.ComponentModel.DataAnnotations) | Microsoft Docs] *FK欄位 :*[https://docs.microsoft.com/zh-tw/dotnet/api/system.componentmodel.dataannotations.schema.foreignkeyattribute ForeignKeyAttribute 類別 (System.ComponentModel.DataAnnotations.Schema) | Microsoft Docs] === View 相關 === ==== View 如何收到 Controller 傳過來的內容?==== *參照:《ASP.NET MVC4網站開發美學》5-42頁 ISBN 9789862766569 {| witdh="100%" class="wikitable" |- !種類!!生命周期!!隔離性!!儲存於!!跨伺服器!!序列化 |- |自訂 Model||自訂||有||Server||透過資料庫||可 |- |ViewBag||短(只存在於1個Action裡)||有||Server||無|| |- |ViewData||短(只存在於1個Action裡)||有||Server||無|| |- |TimeData||短||有||Server||有(透過Session)||視Session的設定而定 |- |Session||長(可自訂TimeOut時間)||有||Server||有||視Session的設定而定 |- |Cookie||自訂||有||Client||有(同一個Domain裡的網站都可存取)||不需要 |- |Application||長(直到網站重新啟動)||無(所有的使用者共用)||Server||有||不需要 |- |} ==== 在View裡常用的控制項==== *參見:[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html System.Web.Mvc.Html Namespace | Microsoft Docs] {| witdh="100%" class="wikitable" |- !種類!!非資料繫結!!資料繫結 |- |CheckBox |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.CheckBox CheckBox] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.CheckBoxFor CheckBoxFor] |- |DropDownList |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.selectextensions.dropdownlist DropDownList] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.selectextensions.dropdownlistfor DropDownListFor] |- |Hidden |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.Hidden Hidden] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.HiddenFor HiddenFor] |- |Label |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.labelextensions.label Label] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.labelextensions.labelfor LabelFor] |- |ListBox |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.selectextensions.ListBox ListBox] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.selectextensions.ListBoxFor ListBoxFor] |- |Password |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.Password Password] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.PasswordFor PasswordFor] |- |RadioButton |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.RadioButton RadioButton] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.RadioButtonFor RadioButtonFor] |- |TextBox |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.TextBox TextBox] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.inputextensions.TextBoxFor TextBoxFor] |- |TextArea |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.textareaextensions.TextArea TextArea] |[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.html.textareaextensions.TextAreaFor TextAreaFor] |- |} ==== 在View裡自定helper函數==== *範例 <source lang="csharp"> @{ Page.Title = "新頁面"; @helper FunBtn(string strText, string strUrl) { <input type='button' class='ImgBtn6' value='@strText' onclick='@MvcHtmlString.Create(string.Format("window.location.href = \"{0}\"", strUrl))' /> } } </source> ==== 在View裡使用表單新增確認==== {{HideH|Index.vbhtml}} <pre> @Code PageData("Title") = "xxx記錄" Layout = "~/Views/Shared/_Layout.vbhtml" End Code @section head @Scripts.Render("~/bundles/jquery.validate") <script type="text/javascript"> var IsSubmit = false; $(function () { $("form").makeValidationInline(); }); $('#form1').submit(function () { if (IsSubmit) { return true; } else { showConfirmDlg(); return false; } }); function showConfirmDlg() { $("#confirm").show('show').dialog({ modal: true, dialogClass: "no-close", buttons: [ { text: "確認新增", click: function () { $(this).dialog("close"); IsSubmit = true; $('#form1').trigger('submit'); } }, { text: "取消", click: function () { $(this).dialog("close"); IsSubmit = false; } } ] }); } </script> End Section <form id="form1" method="post"> //....表單欄位 MvcHtmlString.Create("<input type='button' id='ButAdd' name='ButAdd' value='新增確認' style='width:152px;' onclick='showConfirmDlg();' />") <div id="confirm" title="xxx記錄" style="display:none"> 是否確認新增? </div> </form> </pre> {{HideF}} === Controller 相關 === ==== 避免因為Controller未實作Action而出現HTTP 404錯誤==== *[https://docs.microsoft.com/zh-tw/dotnet/api/system.web.mvc.controller.handleunknownaction Controller.HandleUnknownAction(String) 方法 (System.Web.Mvc) | Microsoft Docs] ==== Controller 如何從 View 收到表單內容? ==== *使用 FormCollection 當傳入參數 *使用自訂 Model 當傳入參數 ==== ActionResult 可回傳的種類 ==== * View() * PartialView() * EmptyResult() * Content() * File() * JavaScript() * Json() * Redirect() * RedirectToAction()、RedirectToActionPermanent()、RedirectToRoute()、RedirectToRoutePermanent() * HttpStatusCodeResult()、HttpNotFound()、HttpUnauthorizedResult() ;注意: *因為RedirectToAction()無法傳遞 ViewBag 所以要改用 TempData 傳遞 ==== 使用Filter達到限定本機或限定IP存取 ==== *[http://blog.darkthread.net/post-2013-09-15-localhost-only-aspnet-mvc-filter.aspx ASP.NET MVC Filter練習-限定本機存取 - 黑暗執行緒] ==== 在ASP.NET MVC5 瀏覽器會一直跳 arterySignalR 相關錯誤 ==== *在 Web.config 裡的 <appSettings> 區段內,加上 <add key="vs:EnableBrowserLink" value="false" /> 就可以關掉相關錯誤了 *參照:[http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx Browser Link feature in Visual Studio Preview 2013]的4. How do I turn off Browser Link? ==== 編譯網站時出現 警告 BC40056 ==== * 以 VB.NET 寫 ASP.NET MVC 網站,編譯時出現 警告 BC40056 : 警告 BC40056: Imports 'WebApp1' 中指定的命名空間或類型不包含任何 Public 成員,或是找不到該命名空間或類型。請確定命名空間或類型已定義,而且其中包含至少一個 Public 成員。請確定匯入的項目名稱沒有使用任何別名。 * 在網站加入一個新的類別,將其加入Namespace WebApp1 === 安全性相關 === *[https://technet.microsoft.com/zh-tw/library/security/3137909 在 ASP.NET 範本中的弱點可能會允許竄改] ===使用Visual Studio發佈(Publish)一個ASP.NET MVC專案,缺少*.Interop.dll=== *[https://blog.darkthread.net/blog/msbuild-copy-files-after-publish/ Visual Studio Publish 網站缺檔怎麼辦? 小試 MSBuild 自訂步驟] ==相關== *[[ASP.NET Web API]] *[[ASP.NET Web Pages]] *[[ADO.NET Entity Framework]] [[Category:ASP.NET]] [[Category:網頁應用程式框架]] [[Category:MVC]]
此頁面使用了以下模板:
模板:HideF
(
檢視原始碼
)
模板:HideH
(
檢視原始碼
)
模板:Msdn
(
檢視原始碼
)
模板:See
(
檢視原始碼
)
模板:Wikipedia
(
檢視原始碼
)
返回「
ASP.NET MVC
」頁面
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
社群入口
新聞動態
新聞直播
近期變更
Online IDE
分類
程式語言
資料結構
演算法
技術
軟體
SQL資料庫
網站套件
免費資源
副檔名
檔案格式
分類
其他
動畫
漫畫
小說
小說導讀
驅動程式
購物用
求職網站
推薦書單
線上學習
技術類News或部落格
Microsoft devblogs
網頁技術News
資料技術News
安全性相關News
MS-MVP
藍色小舖認證專家
經營行銷類部落格
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊