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.6Web 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

上面文章里面提到的几个专有名词,您可以查阅以前发表过的文章:

关于 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

http://www.dotblogs.com.tw/mis2000lab/archive/2015/05/04/asp.net_46_web_form_updating_from_msdn_blog.aspx    这是我自己的文章备份

[重点翻译] ASP.NET 4.6的更新 -- 本文只摘录 Web Forms的部分的更多相关文章

  1. Asp.Net学习进度备忘(第一步:ASP.NET Web Forms)

    书签:“Web Pages”和“MVC”跳过:另外跳过的内容有待跟进 __________________ 学习资源:W3School. _________________ 跳过的内容: 1.ASP. ...

  2. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序更新相关数据

    这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第八篇:为ASP.NET MVC应用程序 ...

  3. ASP.NET MVC应用程序更新相关数据

    为ASP.NET MVC应用程序更新相关数据 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译, ...

  4. [翻译] ASP.NET Core 2.2 正式版发布

    本文为翻译,原文地址:https://blogs.msdn.microsoft.com/webdev/2018/12/04/asp-net-core-2-2-available-today/ 我(文章 ...

  5. [中文翻译] ASP.NET 5 简介(Introducing ASP.NET 5,原作ScottGu 2015/2/23)

    本文出处  [中文翻译] ASP.NET 5 简介(Introducing ASP.NET 5,原作ScottGu 2015/2/23) 这是我的文章备份 http://www.dotblogs.co ...

  6. [翻译] ASP.NET Core 简介

    ASP.NET Core 简介 原文地址:Introduction to ASP.NET Core         译文地址:asp.net core 简介           翻译:ganqiyin ...

  7. asp.net core 3.0 更新简记

    asp.net core 3.0 更新简记 asp.net core 3.0 更新简记 Intro 最近把活动室预约项目从 asp.net core 2.2 更新到了 asp.net core 3.0 ...

  8. ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列(不断更新中)

    项目简介 利用ASP.NET SignalR技术与Layim前端im框架实现的一个简单的web聊天室,包括单聊,群聊,加好友,加群,好友搜索,管理,群组管理,好友权限设置等功能.涉及技术: Elast ...

  9. 【翻译】使用Knockout, Web API 和 ASP.Net Web Forms 进行简单数据绑定

    原文地址:http://www.dotnetjalps.com/2013/05/Simple-data-binding-with-Knockout-Web-API-and-ASP-Net-Web-Fo ...

随机推荐

  1. linux tar 命令 --致力于“一眼看懂,随手就用”的随笔

    基本玩法: 压缩: tar -czf txt.tar.gz *.txt // 将当前目录下的所有txt文件,创建一个tar包,并用gzip算法,压缩成txt.tar.gz 文件 解压: tar -xz ...

  2. unresolved external symbol "public: virtual __thiscall...错误

    今天自己在编写类模板的程序时,遇到了如下的错误:unresolved external symbol "public: virtual __thiscall...错误 调试修改了半天程序,还 ...

  3. 如何在 Git 里撤销(几乎)任何操作

    任何版本控制系统的一个最有的用特性就是“撤销 (undo)”你的错误操作的能力.在 Git 里,“撤销” 蕴含了不少略有差别的功能. 当你进行一次新的提交的时候,Git 会保存你代码库在那个特定时间点 ...

  4. ApplePay

    ApplePay要在项目有里配置,,配置好项目之后,就剩下编码了,做ApplePay首先要检查设备是否支持ApplePay,支持 ApplePay的设备在 iPhone6及以后,  PKPayment ...

  5. Java中几种常见的排序方式

    冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成.这个算法的名字 ...

  6. 再论prototype

    前段时间曾经写过一篇关于prototype原型的文章(http://www.cnblogs.com/ttcc/p/3751604.html),但是对于JS的核心之一,还是应该多多熟悉才行,常回过头来看 ...

  7. 【WCF 1】WCF框架宏观了解

    导读:使用WCF框架爱开发项目也有很长一段时间了,最开始的时候,是理解的不深,所以不写博客进行总结.后来是项目赶,发现需要总结的有很多,一直没有把WCF排上日程,尤其是最近研究EF这一块,更是研究了一 ...

  8. namespace的用法

    C++中采用的是单一的全局变量命名空间.在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突.当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字:有时为了程序 ...

  9. RGB颜色空间与YCbCr颜色空间的互转

    在人脸检测中会用到YCbCr颜色空间,因此就要进行RGB与YCbCr颜色空间的转换.在下面的公式中RGB和YCbCr各分量的值的范围均为0-255. RGB转到YCbCr: float y= (col ...

  10. git贡献代码流程

    1.本地创建ssh key: $ ssh-keygen -t rsa -C "your_email@youremail.com" 2.回到github,进入Account Sett ...