[重点翻译] ASP.NET 4.6的更新 -- 本文只摘录 Web Forms的部分
2015-05-11 14:27
120 查看
原文出处:[重点翻译] 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版。后续文章的图片也引用自原文)
Updates for ASP.NET 4.6 – Web Forms/ MVC 5/ Web API 2
http://blogs.msdn.com/b/webdev/archive/2015/04/30/updates-for-asp-net-4-6-web-forms-mvc-5-web-api-2.aspx
==== 文章摘录如下: ========================================================
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" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:GridView runat="server" ID="studentsGrid"
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">
<Columns>
<asp:DynamicField DataField="StudentID" />
<asp:DynamicField DataField="LastName" />
<asp:DynamicField DataField="FirstName" />
<asp:DynamicField DataField="Year" />
<asp:TemplateField HeaderText="Total Credits">
<ItemTemplate>
<asp:Label Text="<%# Item.Enrollments.Sum(en => en.Course.Credits) %>"
runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<br />
</asp:Content>
//Async method for Select
public async Task<SelectResult> 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"
<asp:ListView runat="server" ID="vsTweetList"
SelectMethod="vsTweetList_GetData" ItemType="LinqToTwitter.Status">
<ItemTemplate>
<p>
<%#: $"At: {Item.CreatedAt.ToString("T")} on {Item.CreatedAt.ToString("d")}" %>
<br />
<%#: Item.Text %>
</p>
</ItemTemplate>
<ItemSeparatorTemplate> <hr /> </ItemSeparatorTemplate>
</asp:ListView>
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的主要目标是让浏览器到网站的单一连结,能够改善效能、减少延迟、增加网络使用率。
这一段影片有更多介绍
http://channel9.msdn.com/Events/Visual-Studio/Connect-event-2014/812
Updated Ajax Control Toolkit
Ajax Control Toolkit的更新
Web Form开发者爱用的AJAX Toolkit也有更新。
详见 http://devexpress.com/ms-act
=========================================================================
关于 Build 2015大会的新宣示,其他新的功能与说明
可以参阅 .NET Announcements at Build 2015
http://blogs.msdn.com/b/dotnet/archive/2015/04/29/net-announcements-at-build-2015.aspx#dotnetlang
上面文章里面提到的几个专有名词,您可以查阅以前发表过的文章:
[中文翻译] 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 4.6的更新 -- 本文只摘录 Web Forms的部分
http://www.dotblogs.com.tw/mis2000lab/archive/2015/05/04/asp.net_46_web_form_updating_from_msdn_blog.aspx 这是我自己的文章备份相关文章推荐
- ASP .Net 2.0三层结构例子和部分中文翻译
- (摘录)ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
- ASP.NET Web Forms 4.5的新特性(二):针对HTML5的更新和Unobtrusive Validation
- 学习笔记:Asp.Net MVC更新部分页面
- 【翻译】使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定
- 动态的呈现页面. 模拟ASP.NET UpdatePanel部分更新配合WebServices.
- asp.net 2.0中一次性更新所有GRIDVIEW的记录 (翻译)
- asp.net ajax updatepanel控件使用(网页自动部分更新)
- ASP.NET MVC资源汇总(本文不断更新)
- [翻译]Scott Mitchell 的ASP.NET 2.0数据教程之四十九:使用SqlDataSource插入、更新以及删除数据
- ASP.NET MVC资源汇总(本文不断更新)
- (摘录)ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
- ASP.NET MVC资源汇总(本文不断更新)
- 【EntityFramework系列教程六,翻译】在ASP.NET MVC程序中使用EntityFramework对相关数据进行更新
- ASP.NET MVC资源汇总(本文不断更新)
- 【微软ASP.NET站点部署指南】中文版翻译 持续更新中
- [A1.ASP-NET]Gridview控件高效异步更新与实验(翻译)
- [翻译]ASP.NET MVC CodePlex Preview 5 更新细节(未完成)
- ASP.NET MVC资源汇总(本文不断更新)
- ASP.NET MVC资源汇总(本文不断更新)