[重點翻譯] ASP.NET 4.6的更新 -- 本文只摘錄 Web Forms的部分
http://www.dotblogs.com.tw/mis2000lab/archive/2015/05/04/asp.net_46_web_form_updating_from_msdn_blog.aspx
日前,微軟 Build 2015大會發佈了許多新技術與訊息
微軟 MSDN Blog也分享了許多第一手資訊。
因為我只注重在 Web Form這塊,只摘錄這方面的重點
MVC 5 / Web API 2 / EF的用戶可以參閱原文
(發表於 2015/4/30,此時的VS 2015版本為RC版。後續文章的圖片也引用自原文)
==== 文章摘錄如下: ========================================================
What is ASP.NET 4.6?
何謂 ASP.NET 4.6?
ASP.NET 4.6是 umbrella term給現有framework,例如:ASP.NET Web Form / MVC 5 / Web API 2等等升級使用的。
您可以在標準的、桌面上(desktop-enable)的.NET Framework Model用它來建構Web Apps。
Improvements in ASP.NET 4.6 for Web Forms/ MVC 5/ Web API 2.
ASP.NET 4.6在Web Form上的改進 (MVC 5 / WEb API 2的用戶,請參閱原文說明)
ASP.NET 5(譯者註解:開放源碼)上的部分運作功能,也會再ASP.NET 4.6的改進framework上運作。
包含.NET Compiler Platform(Roslyn / 羅斯林專案)、在IIS上支援HTTP/2功能等等。
Authentication Updates
驗證的升級
ASP.NET 4.6樣板現在採用了Open Id Connect中介軟體來作Azure AD的驗證。如下圖,最新的驗證設定畫面。
(點選圖片可超連結到原文)
Enabling the .NET Compiler Platform (“Roslyn”) in ASP.NET applications
在VS 2015裡面的Web Forms樣板,預先安裝了軟體套件。下圖就是一個Web Forms網頁。
(點選圖片可超連結到原文)
使用Web Forms的用戶,上圖的底部(Error List)雖然出現一些錯誤訊息,但請您放心,不會影響到專案的正常運作。
Async Model Binding for Web Forms
Web Forms的 "非同步 Model Binding"
ASP.NET 4.5把MVC使用的Model Binding讓Web Forms也能享有相同的便利。
ASP.NET 4.6則是為Web Forms使用的 Model Binding,加入非同步(Async.)功能。
程式範例如下:(引用自原文網站)
註解:底下的Web Forms用了 GridView控制項,透過Model Binding(查詢、撈出、Select Method)學生資料
<%--
Web Forms page calling a select method to model bind to a list of students.
The GridView uses Model Binding to bind to Student type in your app.
To use Async Model Binding, mark your page with Aysnc=True attribute.
--%>
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" Async="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication226._Default" %>
ItemType="ContosoUniversityModelBinding.Models.Student" DataKeyNames="StudentID"
SelectMethod="studentsGrid_GetData"
UpdateMethod="studentsGrid_UpdateItem"
DeleteMethod="studentsGrid_DeleteItem"
AutoGenerateEditButton="true"
AutoGenerateDeleteButton="true"
AllowSorting="true" AllowPaging="true" PageSize="4"
AutoGenerateColumns="false">
runat="server" />
//Async method for Select
public async Task studentsGrid_GetData(int startRowIndex, int maximumRows)
{
SchoolContext db = new SchoolContext();
var query = db.Students.Include(s => s.Enrollments.Select(e => e.Course));
SelectResult result = new SelectResult(query.Count(),
await query
.SortBy("StudentID")
.Skip(startRowIndex)
.Take(maximumRows)
.ToListAsync());
return result;
}
譯者註解:您也可以參考這篇文章,使用 VB語法的 "非同步" Model Binding,範例如下。
http://blogs.msdn.com/b/webdev/archive/2015/04/24/making-it-better-asp-net-with-visual-basic-14.aspx
別忘了 @Page指示詞裡面要加上 <%@ Page Language="VB" Async="true"
SelectMethod="vsTweetList_GetData" ItemType="LinqToTwitter.Status">
<%#: $"At: {Item.CreatedAt.ToString("T")} on {Item.CreatedAt.ToString("d")}" %>
<%#: Item.Text %>
Public Function vsTweetList_GetData() As IEnumerable(Of Status)
Return GetTweetsFor("VisualStudio")
End Function
Public Async Function vsTweetList_GetDataAsync() As Threading.Tasks.Task(Of IEnumerable(Of Status))
Return Await GetTweetsForAsync("VisualStudio")
End Function
Add support for HTTP/2
支援HTTP/2
在Windows 10與.NET Framework 4.6,增加了HTTP/2的支援。
HTTP/2的主要目標是讓瀏覽器到網站的單一連結,能夠改善效能、減少延遲、增加網路使用率。
這一段影片有更多介紹
Updated Ajax Control Toolkit
Ajax Control Toolkit的更新
Web Form開發者愛用的AJAX Toolkit也有更新。
=========================================================================
關於 Build 2015大會的新宣示,其他新的功能與說明
上面文章裡面提到的幾個專有名詞,您可以查閱以前發表過的文章:
[中文翻譯] Visual Studio的 羅斯林專案(Roslyn Project)
[中文翻譯] ASP.NET 5 概觀 (ASP.NET 5 Overview,原作 Tom FitzMacken 2014/11/12)
[中文翻譯] ASP.NET 5 簡介(Introducing ASP.NET 5,原作ScottGu 2015/2/23)
關於 Model Binding在本網站的文章與範例,請看 http://www.dotblogs.com.tw/mis2000lab/Tags/Model%20Binding/default.aspx
關於 非同步(Async / Await)在本網站的文章與範例,請看 http://www.dotblogs.com.tw/mis2000lab/Tags/%E9%9D%9E%E5%90%8C%E6%AD%A5/default.aspx
ASP.NET課程 / ASP.NET教學,請看
http://www.dotblogs.com.tw/mis2000lab/archive/2011/06/24/29807.aspx
[台北] ASP.NET入門實戰 + ADO.NET進階【二合一】49 hr
ASP.NET影片、遠距教學,請看:
http://www.dotblogs.com.tw/mis2000lab/archive/2015/03/09/aspnet-online-learning-distance-education-2015.aspx
[遠距教學、教學影片] ASP.NET (Web Form) 六週課程 上線了!
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
......... 寫信給我,mis2000lab (at) yahoo.com.台灣 .....................................................................................
原文出處:
[重點翻譯] ASP.NET 4.6的更新 -- 本文只摘錄 Web Forms的部分
http://www.dotblogs.com.tw/mis2000lab/archive/2015/05/04/asp.net_46_web_form_updating_from_msdn_blog.aspx
沒有留言:
張貼留言