1. Trang chủ
  2. » Tất cả

ASP.NET-MVC-3-RC-Release-Notes

10 481 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Asp.net Mvc 3 Release Candidate Release Notes
Trường học Microsoft Corporation
Chuyên ngành Web Development
Thể loại Release Notes
Năm xuất bản 2010
Thành phố Redmond
Định dạng
Số trang 10
Dung lượng 189,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ASP.NET MVC 3 Release Candidate Release Notes Overview...2 Installation Notes...2 Software Requirements...2 Documentation...2 Support...3 Upgrading an ASP.NET MVC 2 Project to ASP.NET MV

Trang 1

ASP.NET MVC 3 Release Candidate

Release Notes

Overview 2

Installation Notes 2

Software Requirements 2

Documentation 2

Support 3

Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3 3

New Features in ASP.NET MVC 3 RC 4

NuGet Package Manager 5

Improved "New Project" Dialog Box 5

Sessionless Controllers 6

New Validation Attributes 6

New Overloads for "LabelFor" and "LabelForModel" Methods 7

Child Action Output Caching 7

"Add View" Dialog Box Improvements 8

Granular Request Validation 8

Breaking Changes 9

Known Issues 9

Disclaimer 11

Trang 2

This document describes the release of ASP.NET MVC 3 Release Candidate (RC) for Visual Studio 2010 ASP.NET MVC is a framework for developing Web applications that uses the Model-View-Controller (MVC) pattern The ASP.NET MVC 3 RC installer includes the following components:

 ASP.NET MVC 3 run-time components

 ASP.NET MVC 3 Visual Studio 2010 tools

 ASP.NET Web Pages run-time components

 ASP.NET Web Pages Visual Studio 2010 tools

 Third-Party Library Package Manager (based on NuGet)

Installation Notes

The ASP.NET MVC 3 RC for Visual Studio 2010 can be downloaded from the following page:

http://go.microsoft.com/fwlink/?LinkID=191797

ASP.NET MVC 3 can be installed and can run side-by-side with ASP.NET MVC 2 However, you must uninstall ASP.NET MVC 3 Preview 1 or ASP.NET MVC 3 Beta before installing ASP.NET MVC 3 RC

Software Requirements

The ASP.NET MVC 3 run-time components require the following software:

 NET Framework version 4

The ASP.NET Web Pages run-time feature (AspNetWebPages.msi) The ASP.NET MVC 3 installer now

depends on the installation of this feature, which contains the assembly that implements the Razor syntax

ASP.NET MVC 3 Visual Studio 2010 tools require the following software:

 Visual Studio 2010 or Visual Web Developer 2010 Express

Trang 3

Documentation for ASP.NET MVC is available on the MSDN Web site at the following URL:

http://go.microsoft.com/fwlink/?LinkId=205717

Tutorials and other information about ASP.NET MVC are available on the MVC page of the ASP.NET Web site at the following URL:

http://www.asp.net/mvc/

Support

This is a preview release and is not officially supported If you have questions about working with this release, post them to the ASP.NET MVC forum, where members of the ASP.NET community are

frequently able to provide informal support:

http://forums.asp.net/1146.aspx

Upgrading an ASP.NET MVC 2 Project to ASP.NET MVC 3

ASP.NET MVC 3 can be installed side by side with ASP.NET MVC 2 on the same computer, which gives you flexibility in choosing when to upgrade an ASP.NET MVC 2 application to ASP.NET MVC 3

To manually upgrade an existing ASP.NET MVC 2 application to version 3, do the following:

1 Create a new ASP.NET MVC 3 project in a known location on your computer This project will contain some files that are required for the upgrade

2 Copy the following files from the ASP.NET MVC 3 project into the corresponding location of your ASP.NET MVC 2 project:

/Scripts/jquery.unobtrusive-ajax.js

/Scripts/jquery.unobtrusive-ajax.min.js

/Scripts/jquery.validate.unobtrusive.js

/Scripts/jquery.validate.unobtrusive.min.js

/Views/Web.config

3 If your ASP.NET MVC 2 project contains any areas, copy the /Views/Web.config file to the Views

folder of each area

4 In both Web.config files in the ASP.NET MVC 3 project, globally search and replace the ASP.NET MVC

version Find the following:

Trang 4

System.Web.Mvc, Version=2.0.0.0

Replace it with the following:

System.Web.Mvc, Version=3.0.0.0

There are three changes in the root Web.config file and four in the Views\Web.config file.

5 In Solution Explorer, delete the reference to System.Web.Mvc (which points to the version 2 DLL) Then add a reference to System.Web.Mvc (v3.0.0.0) Also add a reference to System.WebPages.dll and System.Web.Helpers.dll.

6 In Solution Explorer, right-click the project name and then select Unload Project Then right-click the project name again and select Edit ProjectName.csproj

7 Locate the ProjectTypeGuids element and replace {F85E285D-A4E0-4152-9332-AB1D724D3325} with {E53F8FEA-EAE0-44A6-8774-FFD645390401}

8 Save the changes, right-click the project, and then select Reload Project

9 In the application’s root Web.config file, add the following settings to the assemblies section.

< add assembly = System.Web.WebPages, Version=1.0.0.0, Culture=neutral,

PublicKeyToken= " 31BF3856AD364E35 " / >

< add assembly = System.Web.Helpers, Version=1.0.0.0, Culture=neutral,

PublicKeyToken= " 31BF3856AD364E35 " / >

10 If the project references any third-party libraries that are compiled using ASP.NET MVC 2, add the

following highlighted bindingRedirect element to the Web.config file in the application root under the configuration section:

< runtime >

< assemblyBinding xmlns = urn:schemas-microsoft-com:asm.v1 "

< dependentAssembly >

< assemblyIdentity name = System.Web.Mvc "

publicKeyToken = 31bf3856ad364e35 " />

< bindingRedirect oldVersion = 1.0.0.0 " newVersion = 3.0.0.0 " />

</ dependentAssembly >

</ assemblyBinding >

</ runtime >

New Features in ASP.NET MVC 3 RC

This section describes features that have been introduced in the ASP.NET MVC 3 RC release since the Beta release

Trang 5

NuGet Package Manager

ASP.NET MVC 3 includes the NuGet Package Manager (formerly known as NuPack), which is an

integrated package management tool for adding libraries and tools to Visual Studio projects This tool automates the steps that developers take today to get a library into their source tree

You can work with NuGet as a command-line tool, as an integrated console window inside Visual Studio 2010, from the Visual Studio context menu, and as a set of PowerShell cmdlets

For more information about NuGet, visit http://NuGet.codeplex.com/ and read the Getting Started Guide

Improved "New Project" Dialog Box

When you create a new project, the New Project dialog box now lets you specify the view engine as well

as an ASP.NET MVC project type

Support for modifying the list of templates and view engines listed in the dialog box is included in this release

The default templates are the following:

Trang 6

Empty Contains a minimal set of files for an ASP.NET MVC project, including the default directory

structure for ASP.NET MVC projects, a Site.css file that contains the default ASP.NET MVC styles, and

a Scripts directory that contains the default JavaScript files.

Internet Application Contains sample functionality that demonstrates how to use the membership provider with ASP.NET MVC

The list of project templates that is displayed in the dialog box is specified in the Windows registry

Sessionless Controllers

The new ControllerSessionStateAttribute gives you more control over session-state behavior for

controllers by specifying a System.Web.SessionState.SessionStateBehavior enumeration value

The following example shows how to turn off session state for all requests to a controller

[ControllerSessionState(SessionStateBehavior.Disabled)]

public class CoolController : Controller {

public ActionResult Index() {

object o = Session["Key"]; // Causes an exception.

}

}

The following example shows how to set read-only session state for all requests to a controller

[ControllerSessionState(SessionStateBehavior.ReadOnly)]

public class CoolController : Controller {

public ActionResult Index() {

Session["Key"] = "value"; // Value is not available in the next request

}

}

New Validation Attributes

CompareAttribute

The new CompareAttribute validation attribute lets you compare the values of two different properties

of a model In the following example, the ComparePassword property must match the Password field in

order to be valid

public class User {

[Required]

public string Password { get; set; }

[Required, Compare("Password")]

Trang 7

public string ComparePassword { get; set; }

}

RemoteAttribute

The new RemoteAttribute validation attribute takes advantage of the jQuery Validation plug-in's remote

validator, which enables client-side validation to call a method on the server that performs the actual validation logic

In the following example, the UserName property has the RemoteAttribute applied When editing this property in an Edit view, client validation will call an action named UserNameAvailable on the

UsersController class in order to validate this field.

public class User {

[Remote("UserNameAvailable", "Users")]

public string UserName { get; set; }

}

The following example shows the corresponding controller

public class UsersController {

public bool UserNameAvailable(string username) {

return !MyRepository.UserNameExists(username);

}

}

By default, the property name that the attribute is applied to is sent to the action method as a query-string parameter

New Overloads for "LabelFor" and "LabelForModel" Methods

New overloads have been added for the LabelFor and LabelForModel methods that let you specify the

label text The following example shows how to use these overloads

@Html.LabelFor(m => m.PropertyName, "Label Text");

@Html.LabelForModel("Label Text");

Child Action Output Caching

The OutputCacheAttribute supports output caching of child actions that are called by using the

Html.RenderAction or Html.Action helper methods The following example shows a view that calls

another action

Hi there The uncached time is: @DateTime.Now

Trang 8

The cached time is: @Html.Action("GetDate")

The GetDate action is annotated with the OutputCacheAttribute:

[OutputCache(Duration = 100, VaryByParam = "none")]

public string GetDate() {

return DateTime.Now.ToString();

}

When this code runs, the result of the call to Html.Action("GetDate") is cached for 100 seconds

"Add View" Dialog Box Improvements

When you add a strongly typed view, the Add View dialog box now filters out more non-applicable types than in previous releases, such as many core NET Framework types Also, the list is now sorted by the class name and not by the fully qualified type name, which makes it easier to find types For example, the type name is now displayed as in the following example:

ClassName (namespace)

In earlier releases, this would have been displayed as the following:

Namespace.ClassName

Granular Request Validation

The Exclude property of ValidateInputAttribute no longer exists Instead, to have request validation

skipped for specific properties of a model during model binding, use the new

SkipRequestValidationAttribute.

For example, suppose an action method is used to edit a blog post:

[HttpPost]

public ActionResult Edit(BlogPostViewModel post) {

// Save the post in the database

}

The following example shows the view model for a blog post

public class BlogPostViewModel {

public int Id {get; set;}

public string Subject {get; set;}

public string Description {get; set;}

}

Trang 9

When a user submits some markup for the Description property, model binding will fail due to request validation To disable request validation during model binding for the blog post Description, apply the

SkipRequpestValidationAttribute to the property, as shown in this example:.

public class BlogPostViewModel {

public int Id {get; set;}

public string Subject {get; set;}

[SkipRequestValidation]

public string Description {get; set;}

}

Alternatively, to turn off request validation for every property of the model, apply

ValidateInputAttribute with a value of false to the action method:

[HttpPost]

[ValidateInput(false)]

public ActionResult Edit(BlogPostViewModel post) {

// Save the post in the database

}

Breaking Changes

 The order of execution for exception filters has changed for exception filters that have the same

Order value In ASP.NET MVC 2 and earlier, exception filters on the controller that had the same Order as those on an action method were executed before the exception filters on the action

method This would typically be the case when exception filters were applied without a specified

Order value In ASP.NET MVC 3, this order has been reversed so that the most specific exception

handler executes first As in earlier versions, if the Order property is explicitly specified, the filters

are run in the specified order

Known Issues

 During installation, the EULA acceptance dialog box displays the license terms in a window that is smaller than intended

 Installing the Visual Studio Async CTP causes a conflict with the Razor release that is included as part

of the ASP.NET MVC 3 tooling installation Make sure that you do not try to install both the Visual Studio Async CTP and the Razor release on the same machine

When you are editing a Razor view (.cshtml file), the Go To Controller menu item in Visual Studio will not be available, and there are no code snippets

Trang 10

This is a preliminary document and may be changed substantially prior to final commercial release of the software described herein

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication

This White Paper is for informational purposes only MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT

Complying with all applicable copyright laws is the responsibility of the user Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property

Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, email address, logo, person, place or event is intended or should be inferred

© 2010 Microsoft Corporation All rights reserved

Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries

The names of actual companies and products mentioned herein may be the trademarks of their

respective owners

Ngày đăng: 24/01/2013, 13:25

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w