zoukankan      html  css  js  c++  java
  • [重点翻译] 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

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

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

  • 相关阅读:
    Maven的生命周期
    Maven坐标
    IDEA配置maven
    IDEA配置tomcat
    重写父类方法
    类的继承
    内部类
    static关键字
    线程相关知识
    数组
  • 原文地址:https://www.cnblogs.com/mis2000lab/p/4494490.html
Copyright © 2011-2022 走看看