Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему ASP.NET MVC 5. Part 1. Overview. Controllers. Views

Содержание

AgendaASP.NET ArchitectureASP.NET MVC 3, 4, 5ControllersViews
ASP.NET MVC 5. Part 1 Overview. Controllers. Views.2014-11-25 by O. ShvetsReviewed by O. Konovalenko AgendaASP.NET ArchitectureASP.NET MVC 3, 4, 5ControllersViews MVC PatternController – application logic. Communicate with user. It receives and handles ASP.NET Architecture Lifecycle of an ASP.NET MVC 5 Application Benefits of ASP.NET MVCHigher quality requirements Test Driven DevelopmentCross platforms supportWindows, PDA, What’s new in ASP.NET MVC 3Extensible Scaffolding with MvcScaffold integrationHTML 5 enabled What’s new in ASP.NET MVC 4ASP.NET Web APIEnhancements to Default Project TemplatesMobile What’s new in ASP.NET MVC 5One ASP.NET project templateASP.NET IdentityBootstrapAuthentication filtersFilter overridesAttribute routing What’s new in ASP.NET MVC 5.1 & 5.2New Features in ASP.NET MVC Create ASP.NET MVC 5 Application Adding a Controller Our New HelloWorldController The App_Start/RouteConfig.cs File Welcome Method with Parameters Matching the Route Parameter Passing Parameters As Route DataIn ASP.NET MVC applications, it's more typical to URL Route Mapping FeaturesYou can include Adding a View The View Layout Page Layout PageThe layout has access to the same properties the Razor view Razor View Enginean alternative to the Web Forms view engine is responsible The Fundamentals of the Razor Syntax‘@’ is the magic character that precedes The Fundamentals of the Razor SyntaxHTML markup lines can be included at Passing Data to the ViewThere are three different ways to pass data ViewDataDictionaryIt isn’t recommended to use ViewDataDictionaryYou have to perform type casts whenever ViewBagIt isn’t recommended to use ViewBagThe ViewBag provides a way to pass Strongly Typed ViewsViews can inherit from two types by default:System.Web.Mvc.WebViewPage orSystem.Web.Mvc.WebViewPageClass WebViewPage Adding a Model Passing Model to the ViewBy specifying the model type using the @model Partials are intended to render snippets of contentIf you find yourself copying Partial ViewsThe partial name is used to locate the partial markup in ?Questions ?
Слайды презентации

Слайд 2 Agenda
ASP.NET Architecture
ASP.NET MVC 3, 4, 5
Controllers
Views

AgendaASP.NET ArchitectureASP.NET MVC 3, 4, 5ControllersViews

Слайд 3 MVC Pattern
Controller – application logic. Communicate with user.

MVC PatternController – application logic. Communicate with user. It receives and

It receives and handles user queries, interrupts with Model,

and returns results by View objects
Model – contains classes that represent data, performs operations with data-bases and organizes relations between data-classes.
View – performs UI representation. Works with model.

Слайд 4 ASP.NET Architecture

ASP.NET Architecture

Слайд 5 Lifecycle of an ASP.NET MVC 5 Application

Lifecycle of an ASP.NET MVC 5 Application

Слайд 6 Benefits of ASP.NET MVC
Higher quality requirements
Test Driven

Benefits of ASP.NET MVCHigher quality requirements Test Driven DevelopmentCross platforms supportWindows,

Development
Cross platforms support
Windows, PDA, IPhone, …
HTML code control
Clear ULR

navigation
http://musica.ua/groups/metallica
Maintainable code and command work

Слайд 7 What’s new in ASP.NET MVC 3
Extensible Scaffolding with

What’s new in ASP.NET MVC 3Extensible Scaffolding with MvcScaffold integrationHTML 5

MvcScaffold integration
HTML 5 enabled project templates
The Razor View Engine
Support

for Multiple View Engines
Controller Improvements
JavaScript and Ajax
Model Validation Improvements
Dependency Injection Improvements

Слайд 8 What’s new in ASP.NET MVC 4
ASP.NET Web API
Enhancements

What’s new in ASP.NET MVC 4ASP.NET Web APIEnhancements to Default Project

to Default Project Templates
Mobile Project Template and Empty Project

Template
jQuery Mobile, the View Switcher, and Browser Overriding
Task Support for Asynchronous Controllers
Azure SDK
Database Migrations
Add Controller to any project folder
Bundling and Minification
Enabling Logins from Facebook and Other Sites Using OAuth and OpenID

Слайд 9 What’s new in ASP.NET MVC 5
One ASP.NET project

What’s new in ASP.NET MVC 5One ASP.NET project templateASP.NET IdentityBootstrapAuthentication filtersFilter overridesAttribute routing

template
ASP.NET Identity
Bootstrap
Authentication filters
Filter overrides
Attribute routing


Слайд 10 What’s new in ASP.NET MVC 5.1 & 5.2
New

What’s new in ASP.NET MVC 5.1 & 5.2New Features in ASP.NET

Features in ASP.NET MVC 5.1
Attribute routing improvements
Bootstrap support for

editor templates
Enum support in views
Unobtrusive validation for MinLength/MaxLength Attributes
Supporting the ‘this’ context in Unobtrusive Ajax
New Features in ASP.NET MVC 5.2
Attribute routing improvements

Слайд 11 Create ASP.NET MVC 5 Application

Create ASP.NET MVC 5 Application

Слайд 12 Adding a Controller

Adding a Controller

Слайд 13 Our New HelloWorldController


Our New HelloWorldController

Слайд 14 The App_Start/RouteConfig.cs File

The App_Start/RouteConfig.cs File

Слайд 15 Welcome Method with Parameters

Welcome Method with Parameters

Слайд 16 Matching the Route Parameter

Matching the Route Parameter

Слайд 17 Passing Parameters As Route Data
In ASP.NET MVC applications,

Passing Parameters As Route DataIn ASP.NET MVC applications, it's more typical

it's more typical to pass in parameters as route

data than passing them as query strings

Слайд 18 URL Route Mapping Features
You can include "-", ".",

URL Route Mapping FeaturesYou can include

";" or any other characters you want as part

of your route rules
This would pass appropriate "language", "locale", and "category" parameters to a ProductsController:
{language}-{locale}/products/browse/{category}
/en-us/products/browse/food
language=en, locale=us, category=food
You can use the "." file extension type at the end of a URL to determine whether to render back the result in either a XML or HTML format
products/browse/{category}.{format}
/products/browse/food.xml category=food, format=xml
/products/browse/food.html category=food, format=html

Слайд 19 Adding a View

Adding a View

Слайд 20 The View

The View

Слайд 21 Layout Page

Layout Page

Слайд 22 Layout Page
The layout has access to the same

Layout PageThe layout has access to the same properties the Razor

properties the Razor view has, including:
AjaxHelper (through the Ajax

property)
HtmlHelper (through the Html property)
ViewData and model
UrlHelper (through the Url property)
TempData and ViewContext
To specify a layout inside a view, we can specify the layout to use with the Layout property:

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}


Слайд 23 Razor View Engine
an alternative to the Web Forms

Razor View Enginean alternative to the Web Forms view engine is

view engine
is responsible for rendering views in the

Razor format (either .cshtml files or .vbhtml files)
The Web Form view engine is used to support the older-format Web Form views (.aspx and .ascx files)

Web Forms view engine example:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>


    <% foreach(var product in Model) { %>
  • <%: product.Name %>

  • <% } %>

Razor view engine example
@model Product[]


    @foreach(var product in Model) {
  • @product.Name

  • }


Слайд 24 The Fundamentals of the Razor Syntax
‘@’ is the

The Fundamentals of the Razor Syntax‘@’ is the magic character that

magic character that precedes code instructions in the following

contexts
‘@’ For a single code line/values


‘@{ … }’ For code blocks with multiple lines



‘@:’ For single plain text to be rendered in the page


Current time is: @DateTime.Now


@{
var name = “John”;
var nameMessage = "Hello, my name is " + name + " Smith";
}

@{
@:The day is: @DateTime.Now.DayOfWeek. It is a great day!
}


Слайд 25 The Fundamentals of the Razor Syntax
HTML markup lines

The Fundamentals of the Razor SyntaxHTML markup lines can be included

can be included at any part of the code:




Razor

uses code syntax to infer indent:

@if(IsPost){

Hello, the time is @DateTime.Now and this
page is a postback!


} else {

Hello, today is:

@DateTime.Now
}

// This won’t work in Razor. Content has to be // wrapped between { }
if( i < 1 ) int myVar=0;


Слайд 26 Passing Data to the View
There are three different

Passing Data to the ViewThere are three different ways to pass

ways to pass data to a view:
by using the

ViewDataDictionary,
by using the ViewBag,
by using strongly typed views.



Слайд 27 ViewDataDictionary
It isn’t recommended to use ViewDataDictionary
You have to

ViewDataDictionaryIt isn’t recommended to use ViewDataDictionaryYou have to perform type casts

perform type casts whenever you want to retrieve something

from the dictionary.


Слайд 28 ViewBag
It isn’t recommended to use ViewBag
The ViewBag provides

ViewBagIt isn’t recommended to use ViewBagThe ViewBag provides a way to

a way to pass data from the controller to

the view
It makes use of the dynamic language features of C# 4
Set properties on the dynamic ViewBag property within your controller:
A ViewBag property is also available in the view:

Слайд 29 Strongly Typed Views
Views can inherit from two types

Strongly Typed ViewsViews can inherit from two types by default:System.Web.Mvc.WebViewPage orSystem.Web.Mvc.WebViewPageClass

by default:
System.Web.Mvc.WebViewPage or
System.Web.Mvc.WebViewPage
Class WebViewPage provides a strongly typed wrapper

over ViewData.Model through the Model property and provides access to strongly typed versions of the associated view helper objects - AjaxHelper and HtmlHelper

Слайд 30 Adding a Model

Adding a Model

Слайд 31 Passing Model to the View
By specifying the model

Passing Model to the ViewBy specifying the model type using the

type using the @model keyword, view will inherit from

WebViewPage instead of WebViewPage, and we will have a strongly typed view

public ActionResult Index()
{
//…
SomeModel model = new SomeModel();
return View(model);
}


Name:

@Model.Name

Date Added:

@Model.DateAdded

Message:

@Model.Message



Слайд 32
Partials are intended to render snippets of content
If

Partials are intended to render snippets of contentIf you find yourself

you find yourself copying and pasting one snippet of

HTML from one view to the next, that snippet is a great candidate for a partial
To render a partial we can use the RenderPartial method or the Partial method in a parent view

Слайд 33 Partial Views
The partial name is used to locate

Partial ViewsThe partial name is used to locate the partial markup

the partial markup in the locations:
\\.cshtml
\Shared\.cshtml
\\.cshtml
\Shared\.cshtml
In order to prevent

accidentally using a partial view from an action, we prefix the view name with an underscore
Html.RenderPartial(...) renders the partial immediately to the response stream
Html.Partial(...) returns a string
In Razor, Html.RenderPartial must be in a code block


  • Имя файла: aspnet-mvc-5-part-1-overview-controllers-views.pptx
  • Количество просмотров: 104
  • Количество скачиваний: 0