What is IIS - Internet Information Server

     What is IIS - Internet Information Server

Internet Information Server

 Internet Information Server (IIS) is one of Microsoft's most popular web servers used to host and provide Internet-based services to ASP.NET and ASP web applications.  The web server is responsible for providing response to requests from users.  When a request comes from the client to the server, IIS takes that request from the users and processes it and sends the response back to the users.
 Internet Information Server (IIS) has its own ASP.NET Process Engine for handling or handling ASP.NET requests.  The way you configure an ASP.NET application depends on which version of IIS the application is running on.
Internet Information Server (IIS) includes a set of programs for building web applications, search engines, and also for creating web-based applications,  Which can access databases like SQL Server.  With IIS, you can make your computer to work as a web server and develop ASP.NET web applications on the server.  You can also set security for specific users and computers to protect a particular website from unauthorized access.
 IIS helps organizations increase the availability of web sites and applications while reducing the cost of system administration and deployment.  IIS 7.5 supports HTTP, HTTPS, FTP, FTPS, SMTP and NNTP.

 ASP.Net relies on the Single Form Interface (SFI) rather than the Multi Form Interface (MFI), as the SFI is a key element for the implementation of the ASP.NET state maintenance feature.  If you host two or more server side forms then you will get run time error 'A page can have only one server-side form tag'.  In ASP.NET, server side forms are rendered using a class called HtmlForm.  This class does not provide an action property, nor does it supply an alternative property.

 When the render method is called, the page object first renders and renders the server-side form and sets an internal flag to note that there is a need for the page.  The Form object has been processed and it throws an HttpException for subsequent inclusion of the server-side form (subsequent inclusion).

But you can include more than one HTML form without setting “runat=server” property in HTML form tag.

 Look at the following code:-

 How to include more than one form in your aspx page and define another page URL.

 How to retrieve form controls value in another aspx page.


 [Main.aspx]: This is the main page which has two forms.  The first form is the server-side form which will post the data to the same page.  The second form is a plain html-form without the 'runat=server' attribute which will post the data of its html controls to another aspx page.  Html controls included inside this form are specifically named.


<%@ Page language="c#" Codebehind="Main.aspx.cs" AutoEventWireup="false" Inherits="MultipleForm.Main" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>Main</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<link type="text/css" href="MyStyle.css" rel="stylesheet">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="frmMain" method="post" runat="server">
<table cellSpacing="0" cellPadding="0" width="95%" border="0">
<caption class="tblCaption">Post data to same page [ Main.aspx ]</caption>
<tr class="rowStyle">
<td width="25%">First Name</td>
<td width="25%"><input class="inputformat" type="text" id="txtFName" runat="server" NAME="txtFName"></td
<td width="25%">Last Name</td>
<td width="25%"><input class="inputformat" type="text" id="txtLName" runat="server" NAME="txtLName"></td>
</tr>
<tr class="rowStyle">
<td></td>
<td colspan="2" align="center"><asp:Button CssClass="buttonStyle" id="btnSubmit" runat="server" Text="Post to Main"></asp:Button></td>
<td></td>
</tr>
</table>
</form>
<br>
<!------
The following form is design by using core ASP model which has
action attribute to define the url of the page where we want to
post/send data.
//---------->
 
<form action="A1.aspx" method="post">
<table cellSpacing="0" cellPadding="0" width="95%" border="0">
<caption class="tblCaption">Post data to another page [ A1.aspx ]</caption>
<tr class="rowStyle">
<td width="25%">First Name</td>
<!---
define name of the control so that you can access its
value by using its name in A1.aspx page
//--->
<td width="25%"><input class="inputformat" type="text" name="fname"></td>
<td width="25%">Last Name</td>
<td width="25%"><input class="inputformat" type="text" name="lname"></td>
</tr>
<tr class="rowStyle">
<td></td>
<td colspan="2" align="center"><input class="buttonStyle" type="submit" value="Post to A1"></td>
<td></td>
</tr>
</table>
</form>
</body>
</HTML>
[Main.aspx.cs]
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
 
namespace MultipleForm
{
/// <summary>
/// Summary description for Main.
/// </summary>
public class Main : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button btnSubmit;
protected System.Web.UI.HtmlControls.HtmlInputText txtFName;
protected System.Web.UI.HtmlControls.HtmlInputText txtLName;
protected System.Web.UI.WebControls.TextBox txtfname;
 
 
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
Response.Write("<font>First Name : " + txtFName.Value  + "<br>");
Response.Write("Last Name   : " + txtLName.Value  + "</font><br>");
}
 
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
 
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
 
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
 
}
#endregion
}
}
 
[A1.aspx.cs]
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
/* The System.Collections.Specialized namespace has
* NameValueCollection class which will be used to
* retrieve form fields data by defined name
*
*/ 
namespace MultipleForm
{
/// <summary>
/// Summary description for A1.
/// </summary>
public class A1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
Response.Write("<font>Data posted to A1.apsx page <br>");
// declare object of NameValueCollection class
NameValueCollection userdata;
// The form property of Request class returns a collection of form variables
// thus 'userdata' contains data in the form of Name-Value
userdata = Request.Form;
// now we can retrieve value of any form field by its name
Response.Write("First Name : " + userdata["fname"].ToString() + "<br>");
Response.Write("Last Name : " + userdata["lname"].ToString() + "</font><br>");
}
 
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
 
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
 
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
 
#endregion
}
}
Reference: Cutting Edge: Form-based Programming in ASP.NET by Dino Esposit
Read more

Post a Comment (0)
Previous Post Next Post