MIS2000 Lab. -- ASP.NET学习&分享 / ASP.NET案例精编(清华大学出版社)
您好,我来自台湾。很高兴与各位分享一些成果。希望对您有帮助。出版书籍是「ASP.NET案例精编 / 清华大学出版社」。

原文出处:[重点翻译] 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.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的验证。如下图,最新的验证设定画面。

 

(点选图片可超链接到原文)

 clip_image002

 

Enabling the .NET Compiler Platform (“Roslyn”) in ASP.NET applications

 

在VS 2015里面的Web Forms样板,预安装了软件套件。下图就是一个Web Forms网页。

 

(点选图片可超链接到原文)

 clip_image004

使用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    这是我自己的文章备份

 

posted on 2015-05-11 14:27  MIS2000 Lab.  阅读(224)  评论(0编辑  收藏  举报


ASP.NET案例精编——适用于VS 2005/2008(配光盘)
 

当当网购买 http://product.dangdang.com/product.aspx?product_id=20583373&ref=search-1-pub