Beginners Guide’s to ASP.NET MVC Framework – Part 1 of n


This article describes overview of ASP.NET MVC Framework , MVC Control Flow etc.

This article is the Part 1 of the ASP.NET MVC Framework series.  In this article I have describes very basic over view of MVC Framework and the control flow of MVC. I will write a few articles in this series which will help all the beginners to move ahead. This article is only about what MVC is.

Overview

The Model-View-Controller (MVC) design pattern is an architectural design patterns for any standard development that separates the components of an application. This allows application to handle very flexible and extensible and easy to handle. ASP.NET MVC Framework is also one of the standard web development frameworks which separate the components of web development application different components.

ASP.NET MVC Framework having three main components

  1. Model
  2. View
  3. Controller

4

Model: The model manages the behavior and data of the application domain, responds to requests for information about its state from the view, and responds to instructions to change state (usually from the controller).

View: This represent the presentation layer of the web application. The view manages the display of information based on the data of model that is requested by controller.

Controller: Controller handles the user interaction with the web application.  User request comes through controller to model and manipulate the records from it and then render the data using View to UI.

Below diagram showing the overview of these three components

1

Request Flow for ASP.NET MVC Framework

  1. Request comes from User to Controller
  2. Controller processes request and forms a data Model
  3. Model is passed to View
  4. View transforms Model into appropriate output format
  5. Response is rendered to Browser

2

Above picture showing you the actual flow of ASP.NET MVP Framework.  Request comes from client to Controller and controller decided which model to used and based on that data rendered into browser.

Now, just have a closer look into to the MVC Flow,

3

In the next article I will give the explanation of each of every step. You just need to remember these are the basic flow of an MVC Application.

ASP.NET Web Forms and  MVC

MVC is not a replacement if ASP.NET Web Form based development. This seats on the top of ASP.NET Development.  MVC Framework simply divides the overall application architecture into three components.

For More information on the basic of MVC Framework please read :
ASP.NET MVC Overview (C#)

Summary

This is the startup article for MVC beginners. Many more to come. Where I will explain details of each of them with sample application. Finally there would be a complete ASP.NET project on MVC Framework. Hope this series will be helpful for all.

Advertisements

My New Article : Beginner’s Guide : Exploring IIS 6.0 With ASP.NET

Today, I have published another article on IIS 6.0 at codeproject. This article is for the beginners who are trying to learn something on IIS. This article gives a complete coverage of IIS, Hosting sites on IIS, Application pool creation, and IIS Request Processing for ASP.NET Web Application .
null
I have also mentioned few Tips which are very commonly used in dealing with IIS. Hope this will help the beginners who are struggling with site hosting on IIS and configure it. Please read full article @ Beginner’s Guide : Exploring IIS 6.0 With ASP.NET

Please give your valuable suggestion and feedback to improve this article.

My New Article : DotNetNuke : User Creation and Role Assignment : For Absolute Beginners!

Today, I have published another article on DotNetNuke (DNN). I am working with DNN for last 1 year and having a good experience on DNN. This article is about to create user and roles in DNN. This will really helpful to all the DNN Beginners. If you really interested, Here is my complete article DotNetNuke: User Creation and Role Assignment : For Absolute Beginners!
Please provide your feedback and suggestion for improve this article. Thanks

My New Article : Test Your ASP.NET WebServices using SOAP UI

Today I have published another article on Web Service Testing- Using SOAP UI.  This is very important to test our web service before we moved it to production. Soap UI is one of the best tool for test any SOAP Request and Response. If have described the basick overview of that tool so that any one can start from scratch. If you are really intereseted, then please read my article complete  here, Test You Web Service Using Soap UI

Please give your suggestion and feedback .

My New Article : Overview of VIEW in SQL Server 2005

Lastnight I have published another article on fundamental of SQL Server VIEW. Its all about View Creation, Use of View, Description of System View, Schema Binding with view and Encryption of View. If you really interesed, Here is my complete article Overview of View in SQL Server 2005 .

This is the Part 1. In the next part I will write on Parameterized View and Indexing of View
Please give your valuable suggestion and feedback.

Prize winner in Competition “Best ASP.NET article of June 2009”

I have own the first prize in the article competition for my article Debug Your ASP.NET Application that Hosted on IIS : Process Attach and Identify which process to attach.. This is second time in this year I have received the prizes from codeproject. Thanks to all of you who read my articles and vote for it.

I have published another article on Remote IIS Debugging in this month. Hope this will also help you.

Please give your suggestion and feedback to improve my articles. Thanks again.

My New Article : Debug your web application Hosted on Remote IIS

Lastnight I have published another article on debugging of ASP.NET article which hosted on Remote IIS Server. Its all about the how to msvsmon.exe and its configuration. If you really interesed, Here is my complete article Remote IIS Debugging : Debug your ASP.NET Application which is hosted on “Remote IIS Server”
Please give your valuable suggestion and feedback.

XSL Transformation : Rendering XML using XSL – HTML Output

Overview

Some times we need to display the XML data in our web application in specific format. XSLT provides the ability to display the XML document in some specific format like HTML, PDF etc. We can select a a XML file or a portion of XML File and using XSL Transformation we can display in some specific format.

SampleFlow

An XSL transformation need an XML document to transform and an XSL style sheet describing how the transformation will take place. An XSLT engine then transforms the XML document via the XSL style sheet and will produce the output in the format specified by the style sheet.

Here I am just going to show you how we can display a XML data using XSL in our web page and which will help beginners to start with. This is an sample application. The XSL, which I have used over here is very simple. If you want to learn details on XSL please read tutorials from W3School.
 

 

How to Implement ?

1. Create Data Base :

Rather than reading the data from xml, I have read the data from database. First of all I have create an DB Student with table name “StudentDetails” . Table contain some dummy data like,

db

2. Add XSL File

Before, reading the data from database, we have to create the XSL file, We can add XSL file by just right click on the project > Add New Item >Select XSLT File

AddXSL

I have put the xsl file in a specific folder called XSL .
 

 

FileH
 

 

3. Desing XSL

Now, Designing XSL is one of the important task, and there are many things that related with XSL . In my case, this is very simple XSL, but if you need to learn in details, I will suggest you to read from W3School. First of all have a look into the XML data which I have got from the dataset.

xml

And based on that we need to desing the XSL File. Below is the StudentDetails XSL

 

 

</span>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
<table width="100%" align="center" cellpadding="0" cellspacing="0" border="1"
 style="background-color:#123456;font-family:verdana;font-size:10pt;border:1">
<tr>
<td  width="10%"  align="left" >
 Roll</td>
<td width="70%" align="left">
 Name</td>
<td width="20%" align="left">
 Address</td>
</tr>
</table>
<xsl:for-each select="Students/Table">
<table width="100%" align="center" cellpadding="0" cellspacing="0" border="1"
 style="font-family:verdana;font-size:10pt;border:1">
<tr >
<td  width="10%"  align="left"   >
 <xsl:value-of select="Roll"/></td>
<td width="70%" align="left" >
 <xsl:value-of select="Name"/></td>
<td  width="20%" align="left" >
 <xsl:value-of select="Address"/></td>
</tr>
</table>
</xsl:for-each>
 </xsl:template>
</xsl:stylesheet>

<span style="font-family: Verdana; font-size: x-small;">

Now, have a look into the code,

Read the data from database and put it into dataset. We can easily get the XML from dataset using.


string XMLString=ds.GetXml();

Below code is used to read data from database

public string strstudentDetails = string.Empty;
 protected void Page_Load(object sender, EventArgs e)
 {
 string    _strConnectionString = "Data Source=.\\sqlexpress;Initial Catalog=Student;Integrated Security=True";
 string _strquery = "select * from studentDetails";
 SqlConnection con = new SqlConnection(_strConnectionString);
 DataSet ds = new DataSet("Students");
 SqlDataAdapter da = new SqlDataAdapter(_strquery, con);
 da.Fill(ds);
 //Get the XML From DataSet
 string strXML = ds.GetXml();
 strstudentDetails=GetHtml(Server.MapPath("~/xsl/studentDetails.xsl"), strXML);
 }

GetHtml function actually doing the job. Its taking XSL Stylesheet and XML data as parameter and returning the html output

 

 

 

 

/// <summary>
 /// Get HTML From XML and XSL
 /// </summary>
 ///
<param name="xsltPath">XSL File Path</param>
 ///
<param name="xml">XML String</param>
 /// <returns>HTML Output</returns>
 public static string GetHtml(string xsltPath, string xml)
 {
 MemoryStream stream = new MemoryStream(ASCIIEncoding.Default.GetBytes(xml));
 XPathDocument document = new XPathDocument(stream);
 StringWriter writer = new StringWriter();
 XslCompiledTransform transform = new XslCompiledTransform();
 transform.Load(xsltPath);
 transform.Transform(document, null, writer);
 return writer.ToString();
 }
 }

Now for displaying the result, we have to put following line in the aspx page,

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <title>Student Page</title>
</head>
<body>
 <form id="form1" runat="server">
<div>
<table >
<tr>
<td>
 <b>Student Info : Displying using XSL Rendering</b></td>
</tr>
<tr>
<td>
 <%= strstudentDetails %></td>
</tr>
</table>
</div>
</form>
</body>
</html>

and the output like,

Output123

Hope this will help you to move ahead with XSL Transformation.

Thankyou

 

 

 

 

 

My Recent Article :Debug Your ASP.NET Application that Hosted on IIS : Process Attach and Identify which process to attach

Ahh… After a long time, I have a published an article on Codeproject.
This article describe how to debug a web application which is hosted on IIS. It also describe how to select a particular process to attach with your application when multiple worker process are running. Please read details over here and give your suggestions and feedback

Thank you.