SlideShare a Scribd company logo
Development in ASP.NETWebForms, LINQ, Dynamic DataTanzimSaqibwww.TanzimSaqib.comSaaS Developer Software as-a Service (SaaS) PlatformBritish Telecom
Session SummaryWebFormsLINQDynamic DataFutures – ASP.NET 4
What is ASP.NETTechnology for web application developmentProvides you with rich APIs and servicesRobust, scalable, fast development experienceGreat flexibility, less codingSeamless integration with Microsoft stack toolsNot an upgrade from ASPthe next generation ASP
WebFormsUI elements that make up the Look & Feel of your applicationAlso known as just Page.Code behind brings UI and code separationDefault.aspxDefault.aspx.csAdvanced features reduce codei.e. Data bindingRich Drag & Drop design experience
WebForms (contd.)Support for multiple languagesC#, VB, C++ and so onSimilar to Windows Forms programming modelEvents, Properties, MethodsExtensibilityThird party assemblies and controlsrunat=“server”Compiled at server-sideAccessible by server code
ASP.NET Controls or Web Controls
Most Commonly Used WebControls
ASP.NET Ecosystem
Page Life Cycle EventsEvents in green are the most frequently used
Page Life Cycle Events (contd.)For more information: http://bit.ly/aspnetevents
WebForms Feature HighlightsThemes and skinsMaster pagesMembership, Profile and Role Manager APIApplication Services for AJAX applicationsWebsite administrationWide range choices for cachingLevels: Application, Session, Cache, Cookie, Page, Portion of PageHandling errors
WebForms Feature Highlights (contd.)ViewStateTechnique to persist changes to state of a WebForm across postbacksStores in a hidden input field __VIEWSTATEEncryptedIncrease length of the page, hence slows downYou can turn on/off
Cozying up with ASP.NET Developmentdemo Building a complete data driven site
Groundbreaking innovationLINQLanguage INtegrated Query
Language INtegrated Query - LINQPronouced as “Link”A language constructStrongly typed query against objectsFull intellisense support	Can be used with any collection of objects that implements IEnumerable<T>Highly extensibleLINQ to XMLLINQ to SQLLINQ to Flickr! etc.
LINQ BenefitsSimply put - avoiding having to learn and master many different domain languages, development or debugging environments in order to retrieve and manipulate data from different sourcesOne language to query all.Deferred ExecutionProcess queries only when foreach/ToList() is being called.Parallel Extensions help LINQ queries run in multiple processor cores in ASP.NET 4
Querying objectsdemo
Obtaining data sourceQuery Expression Syntax:varallProducts = from p in products select p;Extension Method:No representation. productsis the collection of objects
FilteringQuery Expression Syntax:varlowOnProducts = from p in products 		where p.UnitsInStock < 10 select p;Extension Method:products.Where(p => p.UnitsInStock < 10);
OrderingQuery Expression Syntax:varlowOnProducts = from p in products 		where p.UnitsInStock < 10 orderbyp.Name ascending 		select p;Extension Method:products.Where(p => p.UnitsInStock < 10)		.OrderBy(p => p.Name);
Ordering (contd.)Other helpful Extension Methods:OrderByOrderByDescendingThenByThenByDescending  
Groupingstring[] partNumbers = new string[] { "SCW10", "SCW1", "SCW2", "SCW11", "NUT10", "NUT1", "NUT2"};Query Expression Syntax: var query = from pN in partNumbers			group pN by pN.Substring(0,3); Extension Method:var query = partNumbers			.GroupBy(pN => pN.Substring(0,3));foreach (var group in q) {Console.WriteLine("Group key: {0}", group.Key);foreach (var part in group) {Console.WriteLine(" - {0}", part);    }}varlowOnProducts = from p in products 		where p.UnitsInStock < 10 orderbyp.Name ascending 		select p;products.Where(p => p.UnitsInStock < 10)		.OrderBy(p => p.Name);
Grouping (contd.)Iterating through grouped data:foreach (var group in query) {Console.WriteLine("Group key: {0}", group.Key);foreach (var part in group) {Console.WriteLine(" - {0}", part);    }}
Standard Query Operators
Standard Query Operators (contd.)
Querying and modifying datademo LINQ DataContext
LINQ Query ProviderRoll your own provider:YouTubeContextcontext = new YouTubeContext();var query = (from v in context.Videos	where v.Location == " Moghbazar " && 	v.SearchText == “Rail Crash"select v).IfNotViewedBy(“TanzimSaqib”);Building LINQ Provider series: http://bit.ly/LINQSeries
Life easier withDynamic Data
Dynamic Data OverviewBuild powerful data driven sites in a minute!Automatic creation of WebFormsControls and data bindingValidation logic in placeMetadata inferred from schemaEasy and highly customizableTime saver and reusable
Building a website in less than a minute!demo
Field TemplatesFields are User ControlsDynamically chosen by datatypeResponsible forData bindingValidation andRenderingReusable
Customizing Fieldsdemo
Customizing PagesPage TemplatesChanges affect all pagesCustom pages for individual tablesCustom columns and rendering
Customizing Pagesdemo
RoutingStandard URL:http://yourcompany.com/Products/Edit.aspxExtensionless clean URL:http://yourcompany.com/Products/EditNo necessity to move files aroundRouting engine is being used byDynamic DataASP.NET MVCAttend the next session for deep dive into Routing and ASP.NET MVC
Routingdemo
Future is nowASP.NET 4Beta 1
Futures - ASP.NET 4Support for meta tagsPage.Keywords, Page.DescriptionEnabling ViewState for individual controlsViewStateMode property of the controlReading route values at Page level:Page.RouteData.Values[“param_name_here"]Reading route values from markup:<%$ RouteValue:param_name_here %>More precise and predictable ClientIDs
Futures - ASP.NET 4 (contd.)QueryExtenderNew server controlWorks with LinqDataSource and EntityDataSourceMore control over what is coming from DatabaseControls for nested use with QueryExtenderSearchExpressionRangeExpressionPropertyExpressionCustomExpression
Futures - ASP.NET 4 (contd.)Web.config transformation:Development settings: web.debug.configProduction settings: web.release.configDynamic DataNew field template for URL, Email addressesClient Template and Live data bindingEnables binding data source to HTML elementsImplemented with Observer patternData changes from/to UI to/from Database notified
Futures - ASP.NET 4 (contd.)Example<script type="text/javascript">    vardataContext = new Sys.Data.DataContext();dataContext.set_serviceUri("emplyeeService.svc");dataContext.initialize();   </script>  <ul sys:attach="dataview" class="sys-template "      dataview:autofetch="true"      dataview:dataprovider="{{ dataContext }}"      dataview:fetchoperation="GetEmployeeList">      <li>            <h3>{binding Name}</h3>          <div>{binding Address}</div>      </li>  </ul>  
Futures - ASP.NET 4 (contd.)Many more. For more information: http://bit.ly/aspnet4
Links and downloads: http://www.TanzimSaqib.comQ & A
Thank you

More Related Content

What's hot (19)

PPT
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
PPT
Web II - 01 - Introduction to server-side development
Randy Connolly
 
PPTX
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Marc D Anderson
 
PPT
Silverlight
BiTWiSE
 
PDF
REPORT ON ASP.NET
LOKESH
 
PPTX
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
Thomas Conté
 
PPT
Concepts of Asp.Net
vidyamittal
 
PPTX
Chapter 1
application developer
 
PDF
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
Frank Wienberg
 
PPT
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 
PDF
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 
PPTX
What’s new in Visual Studio 2010
Sandun Perera
 
PPTX
Building productivity solutions with Microsoft Graph
Waldek Mastykarz
 
PPT
Flex Remoting With WebORB v1.0
guest642dd3
 
PPT
Chapter1 introduction to asp.net
mentorrbuddy
 
PPT
Net framework
sumit1503
 
PPT
asp
Raj Kumar
 
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
Web II - 01 - Introduction to server-side development
Randy Connolly
 
Unity Connect Haarlem 2016 - The Lay of the Land of Client-Side Development c...
Marc D Anderson
 
Silverlight
BiTWiSE
 
REPORT ON ASP.NET
LOKESH
 
MS Day EPITA 2010: Visual Studio 2010 et Framework .NET 4.0
Thomas Conté
 
Concepts of Asp.Net
vidyamittal
 
PLASTIC 2011: "Enterprise JavaScript with Jangaroo"
Frank Wienberg
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 
Building Desktop RIAs with PHP, HTML & Javascript in AIR
funkatron
 
What’s new in Visual Studio 2010
Sandun Perera
 
Building productivity solutions with Microsoft Graph
Waldek Mastykarz
 
Flex Remoting With WebORB v1.0
guest642dd3
 
Chapter1 introduction to asp.net
mentorrbuddy
 
Net framework
sumit1503
 

Similar to Development In ASP.NET by Tanzim Saqib (20)

PPTX
What’s New in ASP.NET 4
Todd Anglin
 
PPT
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
Dave Bost
 
PPT
Net Framework Hima
HimaVejella
 
PPT
ASPNET Roadmap
ukdpe
 
PPT
Migrating To Visual Studio 2008 & .Net Framework 3.5
Jeff Blankenburg
 
PPT
New Features Of ASP.Net 4 0
Dima Maleev
 
PDF
ASP NET 4 0 in Practice Daniele Bochicchio
sabenaforu
 
PPTX
Asp.net
BALUJAINSTITUTE
 
PPT
Migrating To Visual Studio 2008 & .Net Framework 3.5
Clint Edmonson
 
PPTX
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
Chalermpon Areepong
 
PPT
Introduction to ASP.NET MVC
Maarten Balliauw
 
PDF
ASP NET 4 0 in Practice Daniele Bochicchio
fofangomeal55
 
PDF
ASP.NET Overview - Alvin Lau
Spiffy
 
PPTX
A Web Developer's Journey across different versions of ASP.NET
Harish Ranganathan
 
PPT
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
PPTX
ASP.NET MVC Performance
rudib
 
PPT
Introduction To Dot Net Siddhesh
Siddhesh Bhobe
 
PPTX
Walther Aspnet4
rsnarayanan
 
PPT
ASP.NET 4.0 Demo
Abhishek Sur
 
DOCX
ASP.NET MVC3 RAD
Mădălin Ștefîrcă
 
What’s New in ASP.NET 4
Todd Anglin
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
Dave Bost
 
Net Framework Hima
HimaVejella
 
ASPNET Roadmap
ukdpe
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Jeff Blankenburg
 
New Features Of ASP.Net 4 0
Dima Maleev
 
ASP NET 4 0 in Practice Daniele Bochicchio
sabenaforu
 
Migrating To Visual Studio 2008 & .Net Framework 3.5
Clint Edmonson
 
ZZ BC#7.5 asp.net mvc practice and guideline refresh!
Chalermpon Areepong
 
Introduction to ASP.NET MVC
Maarten Balliauw
 
ASP NET 4 0 in Practice Daniele Bochicchio
fofangomeal55
 
ASP.NET Overview - Alvin Lau
Spiffy
 
A Web Developer's Journey across different versions of ASP.NET
Harish Ranganathan
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
Dave Bost
 
ASP.NET MVC Performance
rudib
 
Introduction To Dot Net Siddhesh
Siddhesh Bhobe
 
Walther Aspnet4
rsnarayanan
 
ASP.NET 4.0 Demo
Abhishek Sur
 
ASP.NET MVC3 RAD
Mădălin Ștefîrcă
 
Ad

Recently uploaded (20)

PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
July Patch Tuesday
Ivanti
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Ad

Development In ASP.NET by Tanzim Saqib

  • 1. Development in ASP.NETWebForms, LINQ, Dynamic DataTanzimSaqibwww.TanzimSaqib.comSaaS Developer Software as-a Service (SaaS) PlatformBritish Telecom
  • 3. What is ASP.NETTechnology for web application developmentProvides you with rich APIs and servicesRobust, scalable, fast development experienceGreat flexibility, less codingSeamless integration with Microsoft stack toolsNot an upgrade from ASPthe next generation ASP
  • 4. WebFormsUI elements that make up the Look & Feel of your applicationAlso known as just Page.Code behind brings UI and code separationDefault.aspxDefault.aspx.csAdvanced features reduce codei.e. Data bindingRich Drag & Drop design experience
  • 5. WebForms (contd.)Support for multiple languagesC#, VB, C++ and so onSimilar to Windows Forms programming modelEvents, Properties, MethodsExtensibilityThird party assemblies and controlsrunat=“server”Compiled at server-sideAccessible by server code
  • 6. ASP.NET Controls or Web Controls
  • 7. Most Commonly Used WebControls
  • 9. Page Life Cycle EventsEvents in green are the most frequently used
  • 10. Page Life Cycle Events (contd.)For more information: http://bit.ly/aspnetevents
  • 11. WebForms Feature HighlightsThemes and skinsMaster pagesMembership, Profile and Role Manager APIApplication Services for AJAX applicationsWebsite administrationWide range choices for cachingLevels: Application, Session, Cache, Cookie, Page, Portion of PageHandling errors
  • 12. WebForms Feature Highlights (contd.)ViewStateTechnique to persist changes to state of a WebForm across postbacksStores in a hidden input field __VIEWSTATEEncryptedIncrease length of the page, hence slows downYou can turn on/off
  • 13. Cozying up with ASP.NET Developmentdemo Building a complete data driven site
  • 15. Language INtegrated Query - LINQPronouced as “Link”A language constructStrongly typed query against objectsFull intellisense support Can be used with any collection of objects that implements IEnumerable<T>Highly extensibleLINQ to XMLLINQ to SQLLINQ to Flickr! etc.
  • 16. LINQ BenefitsSimply put - avoiding having to learn and master many different domain languages, development or debugging environments in order to retrieve and manipulate data from different sourcesOne language to query all.Deferred ExecutionProcess queries only when foreach/ToList() is being called.Parallel Extensions help LINQ queries run in multiple processor cores in ASP.NET 4
  • 18. Obtaining data sourceQuery Expression Syntax:varallProducts = from p in products select p;Extension Method:No representation. productsis the collection of objects
  • 19. FilteringQuery Expression Syntax:varlowOnProducts = from p in products where p.UnitsInStock < 10 select p;Extension Method:products.Where(p => p.UnitsInStock < 10);
  • 20. OrderingQuery Expression Syntax:varlowOnProducts = from p in products where p.UnitsInStock < 10 orderbyp.Name ascending select p;Extension Method:products.Where(p => p.UnitsInStock < 10) .OrderBy(p => p.Name);
  • 21. Ordering (contd.)Other helpful Extension Methods:OrderByOrderByDescendingThenByThenByDescending  
  • 22. Groupingstring[] partNumbers = new string[] { "SCW10", "SCW1", "SCW2", "SCW11", "NUT10", "NUT1", "NUT2"};Query Expression Syntax: var query = from pN in partNumbers group pN by pN.Substring(0,3); Extension Method:var query = partNumbers .GroupBy(pN => pN.Substring(0,3));foreach (var group in q) {Console.WriteLine("Group key: {0}", group.Key);foreach (var part in group) {Console.WriteLine(" - {0}", part); }}varlowOnProducts = from p in products where p.UnitsInStock < 10 orderbyp.Name ascending select p;products.Where(p => p.UnitsInStock < 10) .OrderBy(p => p.Name);
  • 23. Grouping (contd.)Iterating through grouped data:foreach (var group in query) {Console.WriteLine("Group key: {0}", group.Key);foreach (var part in group) {Console.WriteLine(" - {0}", part); }}
  • 26. Querying and modifying datademo LINQ DataContext
  • 27. LINQ Query ProviderRoll your own provider:YouTubeContextcontext = new YouTubeContext();var query = (from v in context.Videos where v.Location == " Moghbazar " && v.SearchText == “Rail Crash"select v).IfNotViewedBy(“TanzimSaqib”);Building LINQ Provider series: http://bit.ly/LINQSeries
  • 29. Dynamic Data OverviewBuild powerful data driven sites in a minute!Automatic creation of WebFormsControls and data bindingValidation logic in placeMetadata inferred from schemaEasy and highly customizableTime saver and reusable
  • 30. Building a website in less than a minute!demo
  • 31. Field TemplatesFields are User ControlsDynamically chosen by datatypeResponsible forData bindingValidation andRenderingReusable
  • 33. Customizing PagesPage TemplatesChanges affect all pagesCustom pages for individual tablesCustom columns and rendering
  • 35. RoutingStandard URL:http://yourcompany.com/Products/Edit.aspxExtensionless clean URL:http://yourcompany.com/Products/EditNo necessity to move files aroundRouting engine is being used byDynamic DataASP.NET MVCAttend the next session for deep dive into Routing and ASP.NET MVC
  • 38. Futures - ASP.NET 4Support for meta tagsPage.Keywords, Page.DescriptionEnabling ViewState for individual controlsViewStateMode property of the controlReading route values at Page level:Page.RouteData.Values[“param_name_here"]Reading route values from markup:<%$ RouteValue:param_name_here %>More precise and predictable ClientIDs
  • 39. Futures - ASP.NET 4 (contd.)QueryExtenderNew server controlWorks with LinqDataSource and EntityDataSourceMore control over what is coming from DatabaseControls for nested use with QueryExtenderSearchExpressionRangeExpressionPropertyExpressionCustomExpression
  • 40. Futures - ASP.NET 4 (contd.)Web.config transformation:Development settings: web.debug.configProduction settings: web.release.configDynamic DataNew field template for URL, Email addressesClient Template and Live data bindingEnables binding data source to HTML elementsImplemented with Observer patternData changes from/to UI to/from Database notified
  • 41. Futures - ASP.NET 4 (contd.)Example<script type="text/javascript">    vardataContext = new Sys.Data.DataContext();dataContext.set_serviceUri("emplyeeService.svc");dataContext.initialize();   </script>  <ul sys:attach="dataview" class="sys-template "      dataview:autofetch="true"      dataview:dataprovider="{{ dataContext }}"      dataview:fetchoperation="GetEmployeeList">      <li>            <h3>{binding Name}</h3>          <div>{binding Address}</div>      </li>  </ul>  
  • 42. Futures - ASP.NET 4 (contd.)Many more. For more information: http://bit.ly/aspnet4
  • 43. Links and downloads: http://www.TanzimSaqib.comQ & A