SlideShare a Scribd company logo
1 of 48
devcoach.com
ASP.NET MVC & HTML 5
Daniel Fisher | devcoach
devcoach.com
HTML 5 – A new Era?
• … or back to the 90's
devcoach.com
What is new?
• HTML 5
– A few tags
– … Less Markup
• CSS 3
– Rounded corners
– Drop shadow?
– Media Queries
– … Less Definition
• EcmaScript 5
– Web Sockets
– Server Sent Events
– … Less Code
devcoach.com
A new ASP.NET Style
• It's not Web Forms!
devcoach.com
What is there
• Maintain Clean Separation of Concerns
• Extensible and Pluggable
• Enable clean URLs and HTML
• Build on to of a mature platform
devcoach.com
Whats the difference to Web Forms
• File System Based
• Event based Server Forms
– Makes adoption easy for e.g. VB forms devs.
– Process logic is coupled with page life-cycle.
• Difficult to test using automated tests.
• Server Controls
– Easy because they render the HTML for you.
– Often not so nice because they render it the way
they want.
devcoach.com
devcoach.com
What Do They Have In Common?
• Visual Studio web designer
• Master pages
• Membership/Roles/Profile providers
• Globalization
• Caching
devcoach.com
The MVC Pattern
• The request hits the controller
• Loads the model
• Returns the view to return to the client
Controller
Model
View
devcoach.com
IIS sends Response
ViewResult.Render
ViewResult locates
corresponding View
ActionResult.
ExecuteResult
ActionResult builds
ViewData / Model
Controller.{Action}Controller.ExecuteIControllerFactory
IHttpHandler.
ProcessRequest
MvcRouteHandler
(IHttpHandler)
IRouteHandler.
GetHttpHandler
URLRoutingModule
IIS takes Request
devcoach.com
First of all think of the URLs
• It's in the nature of the pattern that it makes
you think before you code!
devcoach.com
Nice URLs
• REST-like
• Fits with the nature of the web
– MVC exposes the stateless nature of HTTP
• Friendlier to humans
• Friendlier to web crawlers
– Search engine optimization (SEO)
devcoach.com
Defining Routes
routes.Ignore("*.svc");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new
{
controller = "Home",
action = "Index",
id = ""
});
devcoach.com
Default Parameters
routes.Ignore("*.svc");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional
});
devcoach.com
Controllers
• Base Controller Class
– Basic Functionality most folks will use
• IController Interface
– Ultimate Control for the Control Freak
• IControllerFactory
– For plugging in your own stuff (IOC, etc)
devcoach.com
Controller – Regular APIs
public class Controller : IController {
…
protected virtual void Execute(ControllerContext controllerContext);
protected virtual void HandleUnknownAction(string actionName);
protected virtual bool InvokeAction(string actionName);
protected virtual void InvokeActionMethod(MethodInfo methodInfo);
protected virtual bool OnError(string actionName,
MethodInfo methodInfo, Exception exception);
protected virtual void OnActionExecuted(FilterExecutedContext
filterContext);
protected virtual bool OnActionExecuting(FilterExecutedContext
filterContext);
protected virtual void RedirectToAction(object values);
protected virtual void RenderView(string viewName,
string masterName, object viewData);
}
devcoach.com
Controllers & Actions
public ActionResult Index()
{
return View();
}
devcoach.com
Action Default Values
public ActionResult View(
[DefaultValue(1)]
int page)
{
return View();
}
devcoach.com
Results
• ActionResult
• JsonResult
• ...
devcoach.com
Action Attributes
• HttpPost, HttpGet, HttpDelete, RequiresHttps
• Authorize
• ...
devcoach.com
Action Filters
• Allow code to be wrapped around controller
actions and view results
• Similar to HttpModules
• Provide a mechanism for removing cross
cutting code (logging, authorization, etc.)
from controller classes
devcoach.com
Action Filters
public class MyFilter
: ActionFilterAttribute
{
public override void OnActionExecuting(
ActionExecutingContext filterContext)
{
// Your code here…
}
}
devcoach.com
Passing Data
public ActionResult Index()
{
ViewData["Message"] =
"Welcome to ASP.NET MVC!";
return View();
}
devcoach.com
Passing Dynamic Data
public ActionResult Index()
{
ViewModel.Message =
"Welcome to ASP.NET MVC!";
return View();
}
devcoach.com
Passing Typed Data
public ActionResult Index()
{
var p = new Person();
return View(p);
}
devcoach.com
Model Binder
public ActionResult Save(Person p)
{
// No need to cope with Form/QueryString
return View(p);
}
devcoach.com
Asyncronous Actions
public class PortalController : AsyncController
{
public void NewsAsync(string city)
{
AsyncManager.OutstandingOperations.Increment();
NewsService newsService = new NewsService();
newsService.GetHeadlinesCompleted +=
(sender, e) =>
{
AsyncManager.Parameters["headlines"] = e.Value;
AsyncManager.OutstandingOperations.Decrement();
};
newsService.GetHeadlinesAsync(city);
}
public ActionResult NewsCompleted(string[] headlines)
{
return View(
"News", new ViewStringModel { NewsHeadlines = headlines });
}
devcoach.com
Value Provider
namespace System.Web.Mvc
{
public interface IValueProvider
{
bool ContainsPrefix(string prefix);
ValueProviderResult GetValue(string key);
}
}
devcoach.com
Views
• Pre-defined and extensible rendering
helpers
– Can use .ASPX, .ASCX, .MASTER, etc.
– Can replace with other view technologies:
• Template engines (NVelocity, Brail, …).
• Output formats (images, RSS, JSON, …).
• Mock out for testing.
– Controller sets data on the View
• Loosely typed or strongly typed data
devcoach.com
ASPX Views
Untyped
<%@ Page Inherits="ViewPage<dynamic>" %>
Typed
<%@ Page Inherits="ViewPage<Product>" %>
devcoach.com
Razor Views
Untyped
Typed
@model Product
devcoach.com
View Engine
public abstract class ViewEngineBase
{
public abstract void RenderView(
ViewContext viewContext);
}
devcoach.com
View Engine
• View Engines render output
• You get WebForms by default
• Can implement your own
– MVCContrib has ones for Brail, Nvelocity
– NHaml is an interesting one to watch
• View Engines can be used to
– Offer new DSLs to make HTML easier to write
– Generate totally different mime/types
• Images
• RSS, JSON, XML, OFX, etc.
• VCards, whatever.
devcoach.com
ASPX Output
• Response Write
– <%= "<b>Text with markup</b>" %>
• Html Encoding
– <%: "<b>Text with encoded markup</b>"%>
devcoach.com
Razor Output
• Response Write
– @(new HtmlString("<b>Text with markup</b>"))
• Html Encoding
– @"<b>Text with encoded markup</b>"
devcoach.com
Html Helper
• Html.Form()
• Html.ActionLink()
• Url.Content()
devcoach.com
Strongly Typed Helpers
• Html.TextBoxFor(m=>m.Name)
• Html.TextAreaFor()
• Html.ValidationMessageFor()
devcoach.com
Templated Helpers
• Display Helper Methods
– Html.Display()
– Html.DisplayFor()
– Html.DisplayForModel()
• Edit Helper Methods
– Html.Editor()
– Html.EditorFor()
– Html.EditorForModel()
devcoach.com
Assign Template
• By Type:
DateTime.ascx
• By Name:
Html.DisplayForModel(“MyTemplate.ascx”);
• By UIHint
[UIHint("MyPropertyTemplate")]
public string Title { get; set; }
[HiddenInput]
devcoach.com
Partial Views
Html.RenderPartial()
• Renders UI
devcoach.com
Rendered Actions
Html.RenderAction()
• Invokes action that renders UI
– Menus
– Banner Ads
– Shopping Carts
Any UI that appears in multiple pages and requires
business logic
devcoach.com
Areas
AreaRegistration.RegisterAllAreas();
• Enables you to maintain a clear separation of
functionality in a single project
devcoach.com
Area Registration
public class BlogAreaRegistration
: AreaRegistration
{
public override string AreaName
{
get { return "blog"; }
}
public override void RegisterArea(
AreaRegistrationContext context)
{
//Register Routes
}
}
devcoach.com
Validation
• Define rules in Model
• Server Side Validation
• Client Side Validation
devcoach.com
Validation Providers
• Data Annotation (Default)
• Enterprise Library
• XML
• Anything you want…
devcoach.com
Data Annotations
• [Required]
• [Range]
• [RegularExpression]
• [StringLength]
• [CustomValidator]
devcoach.com
Client Side Validation jQuery
<script
src="@Url.Content("~/Scripts/jquery-1.4.1.min.js")"
type="text/javascript"></script>
<script
src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"
type="text/javascript"></script>
<script
src="@Url.Content("~/Scripts/jquery.validate.min.js")"
type="text/javascript"></script>
<script
src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"
type="text/javascript"></script>
<% Html.EnableClientValidation(); %>
devcoach.com
everything is extensible
• Custom routing handlers (IRouteHandler)
• Custom handlers (IHttpHandler)
• Custom controllers (IController,
IControllerFactory)
• Custom views (IViewEngine )
• Custom view locator (IViewLocator)
• Custom views (IViewDataContainer)

More Related Content

What's hot

Using Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development CycleUsing Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development Cycle
seleniumconf
 

What's hot (20)

Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)Crash Course in AngularJS + Ionic (Deep dive)
Crash Course in AngularJS + Ionic (Deep dive)
 
Алексей Швайка "Bundling: you are doing it wrong"
Алексей Швайка "Bundling: you are doing it wrong"Алексей Швайка "Bundling: you are doing it wrong"
Алексей Швайка "Bundling: you are doing it wrong"
 
MVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative WebtechnologieMVC 1.0 als alternative Webtechnologie
MVC 1.0 als alternative Webtechnologie
 
Selenium bootcamp slides
Selenium bootcamp slides   Selenium bootcamp slides
Selenium bootcamp slides
 
Ankor Presentation @ JavaOne San Francisco September 2014
Ankor Presentation @ JavaOne San Francisco September 2014Ankor Presentation @ JavaOne San Francisco September 2014
Ankor Presentation @ JavaOne San Francisco September 2014
 
Webdriver cheatsheets summary
Webdriver cheatsheets summaryWebdriver cheatsheets summary
Webdriver cheatsheets summary
 
JavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io PresentationJavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io Presentation
 
Web sockets in Angular
Web sockets in AngularWeb sockets in Angular
Web sockets in Angular
 
Backbone JS for mobile apps
Backbone JS for mobile appsBackbone JS for mobile apps
Backbone JS for mobile apps
 
Sitecore MVC: Converting Web Forms sublayouts
Sitecore MVC: Converting Web Forms sublayoutsSitecore MVC: Converting Web Forms sublayouts
Sitecore MVC: Converting Web Forms sublayouts
 
JavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint DevelopersJavaScript and jQuery for SharePoint Developers
JavaScript and jQuery for SharePoint Developers
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
 
The Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has ArrivedThe Time for Vanilla Web Components has Arrived
The Time for Vanilla Web Components has Arrived
 
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
 
Improving Your Selenium WebDriver Tests - Belgium testing days_2016
Improving Your Selenium WebDriver Tests - Belgium testing days_2016Improving Your Selenium WebDriver Tests - Belgium testing days_2016
Improving Your Selenium WebDriver Tests - Belgium testing days_2016
 
Building search app with ElasticSearch
Building search app with ElasticSearchBuilding search app with ElasticSearch
Building search app with ElasticSearch
 
RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014
 
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
 
Using Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development CycleUsing Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development Cycle
 

Viewers also liked

Jan Lokpal VS Sarkari Lokpal
Jan Lokpal VS Sarkari LokpalJan Lokpal VS Sarkari Lokpal
Jan Lokpal VS Sarkari Lokpal
Anoochan Pandey
 
Robots in recovery
Robots in recoveryRobots in recovery
Robots in recovery
Ye Eun Yoon
 

Viewers also liked (10)

Hindi Jan Lokpal
Hindi Jan LokpalHindi Jan Lokpal
Hindi Jan Lokpal
 
Jan Lokpal VS Sarkari Lokpal
Jan Lokpal VS Sarkari LokpalJan Lokpal VS Sarkari Lokpal
Jan Lokpal VS Sarkari Lokpal
 
2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization2011 - DotNetFranken: ASP.NET MVC Localization
2011 - DotNetFranken: ASP.NET MVC Localization
 
2015 JavaScript introduction
2015 JavaScript introduction2015 JavaScript introduction
2015 JavaScript introduction
 
Fstep Webinar: Beyond The Funnel Mentality
Fstep Webinar: Beyond The Funnel MentalityFstep Webinar: Beyond The Funnel Mentality
Fstep Webinar: Beyond The Funnel Mentality
 
Robots in recovery
Robots in recoveryRobots in recovery
Robots in recovery
 
Arbonne One On One
Arbonne One On OneArbonne One On One
Arbonne One On One
 
Social Good Summit Presentation
Social Good Summit PresentationSocial Good Summit Presentation
Social Good Summit Presentation
 
CONTRACT ENGINEERING SERVICES
CONTRACT ENGINEERING SERVICESCONTRACT ENGINEERING SERVICES
CONTRACT ENGINEERING SERVICES
 
Sistemas constructivos de la civilización azteca
Sistemas constructivos de la civilización aztecaSistemas constructivos de la civilización azteca
Sistemas constructivos de la civilización azteca
 

Similar to 2011 NetUG HH: ASP.NET MVC & HTML 5

ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
Chalermpon Areepong
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
Introduction to ASP.Net MVC
Introduction to ASP.Net MVCIntroduction to ASP.Net MVC
Introduction to ASP.Net MVC
Sagar Kamate
 

Similar to 2011 NetUG HH: ASP.NET MVC & HTML 5 (20)

ZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvpZZ BC#7 asp.net mvc practice and guideline by NineMvp
ZZ BC#7 asp.net mvc practice and guideline by NineMvp
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVC Introduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
 
Asp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin SawantAsp.net mvc presentation by Nitin Sawant
Asp.net mvc presentation by Nitin Sawant
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015ASP.NET MVC 5 - EF 6 - VS2015
ASP.NET MVC 5 - EF 6 - VS2015
 
Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Introduction to ASP.Net MVC
Introduction to ASP.Net MVCIntroduction to ASP.Net MVC
Introduction to ASP.Net MVC
 
Asp.net With mvc handson
Asp.net With mvc handsonAsp.net With mvc handson
Asp.net With mvc handson
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 
Asp 1a-aspnetmvc
Asp 1a-aspnetmvcAsp 1a-aspnetmvc
Asp 1a-aspnetmvc
 
Aspnetmvc 1
Aspnetmvc 1Aspnetmvc 1
Aspnetmvc 1
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!ASP.NET - Building Web Application..in the right way!
ASP.NET - Building Web Application..in the right way!
 
DDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVCDDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVC
 
Intro to ColdBox MVC at Japan CFUG
Intro to ColdBox MVC at Japan CFUGIntro to ColdBox MVC at Japan CFUG
Intro to ColdBox MVC at Japan CFUG
 
Mvc
MvcMvc
Mvc
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
Aspnet mvc
Aspnet mvcAspnet mvc
Aspnet mvc
 

More from Daniel Fisher

2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
Daniel Fisher
 

More from Daniel Fisher (20)

MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragilityMD DevdDays 2016: Defensive programming, resilience patterns & antifragility
MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
 
NRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragilityNRWConf, DE: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragility
 
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an....NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
 
2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build2015 - Basta! 2015, DE: JavaScript und build
2015 - Basta! 2015, DE: JavaScript und build
 
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
 
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
 
2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
 
2011 - DNC: REST Wars
2011 - DNC: REST Wars2011 - DNC: REST Wars
2011 - DNC: REST Wars
 
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
 
2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#2010 - Basta!: IPhone Apps mit C#
2010 - Basta!: IPhone Apps mit C#
 
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 - Basta: ASP.NET Controls für Web Forms und MVC
 
2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET2010 Basta!: Massendaten mit ADO.NET
2010 Basta!: Massendaten mit ADO.NET
 
2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC2010 - Basta!: REST mit ASP.NET MVC
2010 - Basta!: REST mit ASP.NET MVC
 
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - Microsoft Springbreak: IIS, PHP & WCF
 
2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#2009 Dotnet Information Day: More effective c#
2009 Dotnet Information Day: More effective c#
 
2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache2009 - DNC: Silverlight ohne UI - Nur als Cache
2009 - DNC: Silverlight ohne UI - Nur als Cache
 
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
 
2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineering2009 - Basta!: Agiles requirements engineering
2009 - Basta!: Agiles requirements engineering
 
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

2011 NetUG HH: ASP.NET MVC & HTML 5