AWP Unit 1 - Merged
AWP Unit 1 - Merged
com
Acuity Educare
ADVANCED WEB
PROGRAMMING
SEM : V
SEM V: UNIT 1
Page 1 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
MSIL
It is language independent code. When you compile code that uses the .NET
Framework library, we don't immediately create operating system - specific native
code.
Instead, we compile our code into Microsoft Intermediate Language (MSIL) code.
The MSIL code is not specific to any operating system or to any language.
Advantages -
MSIL provide language interoperability as code in any .net language is compiled on
MSIL
Same performance in all .net languages
support for different runtime environments
JIT compiler in CLR converts MSIL code into native machine code which is executed
by OS
Functions of the CLR
o Garbage Collector
o Exception handling
o Type safety
o Memory management (using the Garbage Collector)
o Security
o Improved performance
A namespace is designed for providing a way to keep one set of names separate from
another. The class names declared in one namespace does not conflict with the same
class names declared in another.
Defining a Namespace
A namespace definition begins with the keyword namespace followed by the namespace
name as follows:
namespace namespace_name
{
// code declarations
}
Page 3 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Example:
using System;
namespace first_space{
class namespace_cl{
public void func(){
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space{
class namespace_cl{
public void func(){
Console.WriteLine("Inside second_space");
}
}
}
class TestClass{
static void Main(string[] args){
first_space.namespace_cl fc = new first_space.namespace_cl();
second_space.namespace_cl sc = new second_space.namespace_cl();
fc.func();
sc.func();
Console.ReadKey();
}
}
The using keyword states that the program is using the names in the given namespace.
For example, we are using the System namespace in our programs. The class Console is
defined there. We just write:
Console.WriteLine ("Hello there");
We could have written the fully qualified name as: System.Console.WriteLine("Hello
there");
Alias of Namespace:
using A=System.Console;
class Test{
static void Main(){
A.Write("Craetion of Alias");
A.ReadKey();
}
}
Page 4 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
ValueType.
The value types directly contain data. Some examples are int, char, and float, which
stores numbers, alphabets, and floating-point numbers, respectively. When you declare
an int type, the system allocates memory to store the value.
Reference Type
The reference types do not contain the actual data stored in a variable, but they
contain a reference to the variables.
In other words, they refer to a memory location. Using multiple variables, the
reference types can refer to a memory location. If the data in the memory location is
changed by one of the variables, the other variable automatically reflects this change in
value. Example of built-in reference types are: object, dynamic, and string.
Page 5 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Q. Explain the implicit and explicit conversion of data types with examples.
The process of converting from one data type to another data type is called conversion.
When one type of data is assigned to another type of variable, an implicit type
conversion will take place automatically if
o The destination type has a range that is greater than the source type.
When these two conditions are met, a widening conversion takes place. For
example, the int type is always large enough to hold all valid byte values, and both
int and byte are compatible integer types, so an implicit conversion can be applied.
For widening conversions, the numeric types, including integer and floating-point
types, are compatible with each other.
For example, the following program is perfectly valid since long to double is a
widening conversion that is automatically performed.
using System;
class LtoD {
static void Main(){
long L; double D;
L = 100123285L; D = L;
Console.WriteLine("L and D: " + L + " " + D);
}
}
Although the implicit type conversions are helpful, they will not fulfil all programming
needs because they apply only to widening conversions between compatible types. For
all other cases we must employ a cast. A cast is an instruction to the compiler to
convert the outcome of an expression into a specified type. Thus, it requests an explicit
type conversion.
Page 6 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
(target-type) expression
Here, target-type specifies the desired type to convert the specified expression to. For
Example
double x, y;
if you want the type of the expression x/y to be int, you can write
(int) (x / y)
Here, even though x and y are of type double, the cast converts the outcome of the
expression to int. The parentheses surrounding x / y are necessary. Otherwise, the
cast to Int would apply only to the x and not to the outcome of the division.
The cast is necessary here because there is no implicit conversion from double to int.
When a cast involves a narrowing conversion, information might be lost.
Q. Explain Boxing and Unboxing with reference to value type and reference
type.
Boxing:
Any type, value or reference can be assigned to an object without explicit conversion.
When a compiler fined a value where it needs a reference type, it creates an object
‘box’ into which it places the value of the value type.
Example: -
When executed, this code creates a temporary reference _type ‘box’ for the object on
heap. We can also use a C-style cast for boxing.
int m = 10;
object om = (object) m;
Note that the boxing operation creates a copy of the value of the m integer to the
object om. Both the variables exist but the value of om resides on the heap. This means
that the values are independent of each other.
Example
int m =10;
object om = m;
m = 20;
Console.WriteLine(m); // m= 20 Console .WriteLine(om); //om=10
Unboxing:
Unboxing is the process of converting the object type back to the value type.
Page 7 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Remember that a variable can be unboxed only if it has been previously boxed. In
contrast to boxing, unboxing is an explicit operation.
Example:-
int m = 100;
object om = m; //boxing int n = (int) om; //unboxing
When performing unboxing, C# checks the value type we request is actually stored in
the object under conversion. Only if it is, the value is unboxed.
Comparison operators:
It is also called as relational operator. They are used to compare at least two operands.
Below is the list of relational operators as follows:
10
Logical operators
Logical operators are used to combine two or more condition. Below is list of logical
operators used in C#.
The statements inside your source files are generally executed from top to bottom, in
the order that they appear. Control flow statements, however, break up the flow of
execution by employing decision making, looping, and branching, enabling your
program to conditionally execute particular blocks of code.
Break Statement
The break statement is used to exit from loops and switch statements. The break
statement terminates the execution control from a loop or a switch statement to the
next statement after the loop or switch statement.
The general format is: Example:-Write a program to generate the following triangle
Page 8 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
1
12
123
using System;
class demo{
public static void Main(){
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
Console.Write(" "+j);
if(j==i){
break;
}
}
Console.WriteLine(" ");
}
}
}
Continue Statement
The continue statement causes early iteration of a loop. It skips the remaining
statements after the continue statement and moves the execution control to the next
iteration of the loop.
The general format is:
using System;
class demo{
public static void Main(){
for(int i=1;i<=25;i++){
if(i%2!=0){
continue;
}
else{
Console.Write(" "+i);
}
}
}
}
Use the break keyword to stop the loop and the continue keyword to skip one loop cycle
and continue to the next.
using System;
public class Program{
public static void Main(){
Console.WriteLine("Demonstrating the use of break.\n");
for (int x = 1; x < 10; x++){
if (x == 5) break;
Console.WriteLine("Number " + x);
}
Console.WriteLine("\nDemonstrating the use of continue.\n");
for (int x = 1; x < 7; x++){
if (x == 5) continue;
Console.WriteLine("Number " + x);
}
}
}
Page 9 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
case<comparisonValN>:
<code to execute if <testVar> == <comparisonValN>> break;
default:
<code to execute if <testVar> != comparisonVals> break;
}
Example:
class SwitchEg{
static void Main(string[] args){
const string myName = "karli";
const string brotherName = "john";
const string sisterName = "ploppy";
string name;
Console.WriteLine("What is your name?");
name = Console.ReadLine();
switch (name.ToLower()){
case myName:
Console.WriteLine("You have the same name as me!"); break;
case brotherName:
Console.WriteLine("My, what a sexy name you have!"); break;
case sisterName:
Console.WriteLine("That’s a very silly name."); break;
}
Console.WriteLine("Hello {0}!", name);
Console.ReadKey();
}
}
Page 10 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
A foreach loop mostly used with array and collection such ArrayList. A foreach loop
enables us to address each element in an array using this simple syntax:
This loop will cycle through each element, placing it in the variable <name> in turn,
without danger of accessing illegal elements. We don’t have to worry about how many
elements are in the array, and we can be sure that we get to use each one in the loop.
The main difference between using this method and a standard for loop is that foreach
gives us read- only access to the array contents, so we can’t change the values of any
of the elements.
Example
using System;
class Abc{
static void Main(string[] args){
string[] friendNames = {"Robert Barwell", "Mike Parry", "Jeremy Beacock"};
Console.WriteLine("Here are {0} of my friends:", friendNames.Length);
foreach (string friendName in friendNames){
Console.WriteLine(friendName);
}
Console.ReadKey();
}
j= j + i ;
The foreach statement repeats a group of embedded statements for each element in an
array or an object collection. You do not need to specify the loop bounds minimum or
maximum.
Page 11 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Example:
int j = 0;
int[] tempArr = new int[] { 0, 1, 2, 3, 5, 8, 13 };
foreach (int i in tempArr ){
j=j+i;
}
Jagged array is also called Array of Array or variable sized array. In a jagged array,
each row may have different number of columns.
It is equivalent to an array of variable sized one-dimensional arrays. The Length
property is used to get the length of each one-dimensional array.
class numadd{
public static void Main(){
int[][] x=new int[4][];
x[0]=new int[2]{5,13};
x[1]=new int[3]{7,8,11};
x[2]=new int[4]{2,3,4,5};
x[3]=new int[1]{9};
for(int i=0;i<4;i++){
for(int j=0;j<x[i].Length;j++){
Console.Write(x[i][j]+"\t");
}
Console.Write("\n");
}
}
}
Page 12 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Reference Parameter:
It is used as a call by reference in C#. It is used in both places; when we declare a
method and when we call the method. In this example we create a function (cube) and
pass a ref parameter in it, now we look at the value before we call the function and
after we call the function.
Class TryRef{
public void cube(ref int x){
x= x * x * x;
}
}
class Program{
static void Main(string[] args){
TryRef tr = new TryRef();
int y = 5;
Console.WriteLine("The value of y before the function call: " + y);
tr.cube(ref y);
Console.WriteLine("The value of y after the function call: " + y);
Console.ReadLine();
}
}
Output Parameter:
Sometimes we do not want to give an initial value to the parameter; in this case we
use the out parameter. The declaration of the out parameter is the same as the ref
parameter. But it is used to
pass the value out of a method. Now we look at the
class TryOut{
public int mul(int a, out int b){
b = a * a;
return b;
}
}
class Program{
static void Main(string[] args){
TryOut to = new TryOut();
int x,y;
x = to.mul(10, out y);
Console.WriteLine("The output is: "+x);
Console.ReadLine();
}
}
Page 13 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
We can use more than on Main Method in C# program, But there will only one Main
Method which will act as entry point for the program.
using System;
class A{
static void Main(string[] args){
Console.WriteLine("I am from Class A");
Console.ReadLine();
}
}
class B{
static void Main(string[] args){
Console.WriteLine("I am from Class B");
Console.ReadLine();
}
}
Try to execute Program as given below:
As in given program there are two classes A and B in which each containing A Main
Method. We may write as.
csc filename.cs /main:A [ for Class A Main Execution ] or, csc filename.cs /main:B [ for
Class B Main Execution ]
Structure Class
It is value type It is reference type.
Structure stored in stack memory. Class stored in heap memory.
Does not consist of parametrized Consist of parametrized constructor.
constructor.
Does not allow inheritance. Allow inheritance.
Does not consist of destructor. Consist of destructor.
Structure created with help of struct Classes created with the help of class
keyword. keyword.
Example:- struct Book Example:- class Abc
{ {
} }
Page 14 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
An enum is a value type with a set of related named constants often referred to
as an enumerator list.
The enum keyword is used to declare an enumeration. It is a primitive data
type, which is user defined.
Enums type can be integer (float, int, byte, double etc.). But if you used beside
int it has to be cast.
The keyword enum is used to create numeric constants in .NET framework.
There must be a numeric value for each enum type.
The default underlying type of the enumeration elements is int. By default, the
first enumerator has the value 0, and the value of each successive enumerator is
increased by 1.
Example:-
using System;
enumDays {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
class Abc{
public static void main(){
Console.WriteLine((int)Days.Wed); Console.WriteLine((Days)4);
}
}
Inheritance
Inheritance is the concept we use to build new classes using the existing class
definitions. Through inheritance we can modify a class the way we want to create new
objects. The original class is known as base or parent class & the modified class is
known as derived or subclass or child class. The
concept of inheritance facilitates the reusability of existing code & thus improves the
integrity of programs & productivity of programmers.
Polymorphism
Polymorphism is the ability to take more than one form. For example, an operation may
exhibit different behavior in different situations. The behavior depends upon the types
of data used on the operation. Polymorphism is extensively used while implementing
inheritance.
Two types
Compile time polymorphism Runtime time polymorphism
Page 15 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Q. What are sealed classes and sealed methods? Why are they used?
The methods declared with a sealed keyword in its header are known as sealed
methods. Such method provides a complete implementation to its base class virtual
method using the override keyword.
Characteristics
A method cannot be defined as sealed unless that method is an override of a
method in its base class.
A sealed method cannot be overridden further.
Sealed methods are useful to avoid problems caused by overriding the existing
functionality.
It prevents the user from changing the internal functionality of a class.
Example:
using System;
class A{
public virtual void F(){
Console.WriteLine("A.F");
}
public virtual void G(){
Console.WriteLine("A.G");
}
}
class B: A{
sealed override public void F(){
Console.WriteLine("B.F");
}
override public void G(){
Console.WriteLine("B.G");
}
}
class C: B{
override public void G(){
Console.WriteLine("C.G");
}
}
The class B provides two override methods: an F method that has the sealed modifier
and a G method that does not. B's use of the sealed modifier prevents C from further
overriding F.
Sealed Classes:
Generally if we create classes we can inherit the properties of that created class
in any class without having any restrictions.
In some situation we will get requirement like we don’t want to give permission
for the users to derive the classes from it or don’t allow users to inherit the
properties from particular class.
For that purpose we have keyword called “sealed” in OOPS.
When we defined class with keyword “Sealed” then we don’t have a chance to
derive that particular class and we don’t have permission to inherit the
properties from that particular class.
A sealed class cannot be inherited.
It is an error to use a sealed class as a base class.
Use the sealed modifier in a class declaration to prevent inheritance of the class.
It is not permitted to use the abstract modifier with a sealed class.
Page 16 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Example:
using System;
sealed class MyClass{
public int x; public int y;
}
class MainClass{
public static void Main(){
MyClass mC = new MyClass();
mC.x = 110;
mC.y = 150;
Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
}
}
Q. What are the rules in defining a constructor? Explain static constructor with
example.
Also note that a static constructor is parameter less and no access modifiers
are allowed with its declaration. The exact timing of static constructor
execution is implementation-dependent, but is subject to the following rules:
The static constructor for a class executes before any instance of the class is
created.
The static constructor for a class executes before any of the static members for
the class are referenced.
The static constructor for a class executes after the static fields initializes for
the class.
The static constructor for a class executes at most one time during a single
program execution.
Example:
class A{
static A(){
Console.WriteLine("static constructor A is invoked");
}
public static void Main(){
}
}
Page 17 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
When constructor does not accept any parameter then it is referred as default
constructor or zero parametrized.
When constructor accepts the parameter then it is referred as parametrized
constructor.
Example:
using System;
class test{
double length, breadth;
public test(){
Console.WriteLine("default cons");
}
public test(double l, double b){
//Console.WriteLine("paramaterized cons");
length = l;
breadth = b;
}
public double area(){
return (length * breadth);
}
}
class testmain{
public static void Main(){
test defaultcon =new test();//calls default cons
test t1 = new test(10.05, 100.45);
double result = t1.area();
Console.WriteLine("area of rectangle-->" + result);
Console.ReadLine();
}
}
Page 18 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Private constructor
Private constructors are used to restrict the instantiation of object using ‘new’ operator.
A private constructor is a special instance constructor. It is commonly used in classes
that contain static members only. This type of constructors is mainly used for creating
singleton object. If you don't want the class to be inherited we declare its constructor
private.
Example:
using System;
class test{
private test(){
Console.WriteLine("private cons ");
}
public test(int x){
Console.WriteLine("non private cons--->"+ x);
}
}
class testmain{
public static void Main(){
test t1 = new test();//Error'test.test()' is inaccessible due to its protection level
test t2 = new test(10);
Console.ReadLine();
}
}
Static Constructor
There can be only one static constructor in the class. The static constructor should be
without parameters. It can only access the static members of the class. There should be
no access modifier in static constructor definition.
Example:
using System;
class test{
static int x;
static test(){
Console.WriteLine("static cons ");
x = 10;//set the values for static member here
}
public static void show(){
Console.WriteLine("show of x--->" + x);
}
}
class testmain{
public static void Main(){
test.show();
Console.ReadLine();
}
}
Page 19 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Copy constructor
When constructor accepts the object as parameter then it is referred as copy
constructor.
Example:
using System;
class test{
double length, breadth;
public test(){
Console.WriteLine("default cons");
}
public test(double l, double b){
//Console.WriteLine("paramaterized cons");
length = l;
breadth = b;
}
public test(test t1){
length = t1.length;
breadth = t1.breadth;
}
public double area() {
return (length * breadth);
}
}
class testmain
{
public static void Main(){
test defaultcon = new test();//calls default cons
test t1 = new test(10,10);
double result = t1.area();
Console.WriteLine("area of rectangle t1-->" + result);
test t2 = new test(20, 20);
double result1 = t2.area();
Console.WriteLine("area of rectangle t2-->" + result1);
test t3 = new test(t2);
double result_copy = t3.area();
Console.WriteLine("area of rectangle t3 is copy_con of t2-->" +
result_copy);
Console.ReadLine();
}
}
Page 20 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
C# does not support multiple inheritance among classes. However, you can use
interfaces to implement multiple inheritance. The following program demonstrates this:
Example:
using System;
class Shape{
protected int width; protected int height;
public void setWidth(int w){
width = w;
}
public void setHeight(int h){
height = h;
}
}
public interface PaintCost{
int getCost(int area);
}
class Rectangle : Shape, PaintCost{
public int getArea(){
return (width * height);
}
public int getCost(int area){
return area * 70;
}
}
class RectangleTester{
static void Main(string[] args){
Rectangle Rect = new Rectangle();
int area;
Rect.setWidth(5);
Rect.setHeight(7);
area = Rect.getArea();
Console.WriteLine("Total area: {0}", Rect.getArea());
Console.WriteLine("Total paint cost: ${0}" , Rect.getCost(area));
Console.ReadKey();
}
}
Page 21 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
C# does not support multiple inheritances among classes, but a class has the option of
implementing one or more interfaces.
One challenge with interfaces is that they may include methods that have the
same signatures existing class members or members of other interfaces.
Explicit interface implementations can be used to disambiguate class and interface
methods that would otherwise conflict.
Explicit interfaces can also be used to hide the details of an interface that the
class developer considers private.
To explicitly implement an interface member, just use its fully qualified name in
the declaration.
A fully qualified interface name takes the form InterfaceName.MemberName
Example:
interface I1{
void A();
}
interface I2{
void A();
}
class C : I1, I2{
public void I1.A(){
Console.WriteLine("A() from I");
}
void I2.A(){
Console.WriteLine("A() from I2");
}
}
Similarities:
Both abstract classes and interfaces may contain members that can be inherited
by a derived class.
Neither interfaces nor abstract classes may be directly instantiated, but we can
declare variables of these types. If we do, we can use polymorphism to assign
objects that inherit from these types to variables of these types.
In both cases, we can then use the members of these types through these
variables, although we don’t have direct access to the other members of the
derived object.
Page 22 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Differences:
Derived classes may only inherit from a single base class, which means that only
a single abstract class can be inherited directly. Conversely, classes can use as
many interfaces as they want
Abstract classes may possess both abstract members and non-abstract members.
Interface members conversely, must be implemented on the class that uses the
interface they do not possess code bodies.
Moreover, interface members are by definition public but members of abstract
classes may also be private (as long as they aren’t abstract), protected, internal,
or protected internal. In addition, interfaces can’t contain fields, constructors,
destructors, static members, or constants.
Overloading
Method Overloading means having two or more methods with the same name but with
different signature (different parameters list and different type of parameters) in same
class or in different classes. Method Overloading forms compile-time polymorphism.
Overriding
Method overriding means having two methods with same name and same signature,
one method in base class and other method in derived class.
A subclass inherits methods from a base class. Sometimes, it is necessary for the
subclass to modify the methods defined in the base class. This is referred to as method
overriding.
This can be achieved by using the virtual and override keywords. We have to use the
virtual keyword for the method which in base class and override keyword for the
method in subclass.
By default functions are not virtual in C# and so you need to write “virtual” explicitly.
Page 24 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
In a C# program a derived class can have methods with the same signature as that of
its base class methods. This hides the base class methods by its derived class
counterparts and gives a warning. This warning can be suppressed by using the new
keyword with the derive class methods. This means that the members of the base class
are made intentionally hidden by the members having the same signature in the
derived class. The new function will never be invoked by a base class pointer.
Example:-
class demo{
public void disp(){
System.Console.WriteLine("From disp method of base class");
}
}
class test:demo{
new public void disp(){
System.Console.WriteLine("From disp method of derived class");
}
public static void Main(){
test t=new test(); t.disp();
}
}
Page 25 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Overriding methods:
In method overriding we can override a method in base class by creating similar
method in derived class this can be achieved by using inheritance principle and using
“virtual & override” keywords.
If we want to override base class method then we need to declare base class method
with “virtual” keyword and the method which we created in derived class to override
base class need to declare with “override” keyword like as shown below
Example:-
class SampleA{
public virtual void Show(){
Console.WriteLine("Sample A Test Method");
}
}
class SampleB:SampleA{
public override void Show(){
Console.WriteLine("Sample B Test Method");
}
}
class Program{
static void Main(string[] args){
SampleA a=new SampleA();
SampleB b=new SampleB();
a.Show();
b.Show();
a = new SampleB();
a.Show();
Console.ReadLine();
}
}
Hiding methods:
To hide base class methods in derived classes we can declare derived class methods
with new keyword. To use new keyword, we need to write the code like as shown
below
Example:-
class SampleA{
public void Show(){
Console.WriteLine("Sample A Test Method");
}
}
class SampleB:SampleA{
public new void Show(){
Console.WriteLine("Sample B Test Method");
}
}
class Program{
static void Main(string[] args){
Page 26 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Derived class
The functionality of an existing class can be extended by creating a new class from it.
The new class is then called a child class or derived class. The derived class inherits the
properties of the base class.
Abstract class
Static class
A static class is class whose objects cannot be created and must contain only static
members.
Sealed class
A sealed class is a class which cannot be inherited. In C#, the sealed modifier is used
to define a class as sealed.
Partial class
It is possible to split the definition of a class over two or more source files. Each source
file contains a section of the type or meth
Page 27 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
This is in contrast to DLL in the past. Earlier developers used to share libraries of code
through DLL. To use the DLL that is developed by another developer for another
application, we must register that DLL in our machine. In ASP.NET, the assembly is
created by default whenever we build a DLL. We can check the details of the manifest
of the assembly by using classes located in the System.Reflection namespace.
Thus, we can create two types of ASP.NET Assemblies in ASP.NET: private ASP.NET
Assemblies and shared assemblies. Private ASP.NET Assemblies are created when you
build component files like DLLs that can be applied to one application.
Shared ASP.NET Assemblies are created when you want to share the component files
across multiple applications. Shared ASP.NET Assemblies must have a unique name
and must be placed in Global Assembly Cache (GAC). The GAC is located in the
Assembly directory in WinNT. You can view both the manifest and the IL using
ILDisassembler (ildasm.exe).
Page 28 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
The manifest file contains all the metadata needed to specify the assembly's version
requirements, security identity, and all metadata needed to define the scope of the
assembly and resolve references to resources and classes.
Components of Assembly Manifest
It describes the assembly. The manifest file contains all the metadata needed to
specify the assembly's version requirements, security identity, and all metadata
needed to define the scope of the assembly and resolve references to resources and
classes.
Type Metadata
It contains metadata, which describes each type (class, structure, enumeration, and so
forth)
MSIL
It contains Intermediate language code.
Resources
It contains bitmaps, icons, audios and other types of resources.
Page 29 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Every time our application instantiates a reference-type object, the CLR allocates space
on the managed heap for that object. However, we never need to clear this memory
manually. As soon as our reference to an object goes out of scope (or our application
ends), the object becomes available for garbage collection. The garbage collector runs
periodically inside the CLR, automatically reclaiming unused memory for inaccessible
objects.
Page 30 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Namespaces are C# program elements designed to help you organize our programs.
They also provide assistance in avoiding name clashes between two sets of code.
Implementing Namespaces in our own code is a good habit because it is likely to save
us from problems later when we want to reuse some of our code.
For example, if we created a class named Console, we would need to put it in our own
namespace to ensure that there wasn't any confusion about when the System.Console
class should be used or when our class should be used. Generally, it would be a bad
idea to create a class named Console, but in many cases your classes will be named
the same as classes in either the .NET Framework Class Library or namespaces help us
to avoid the problems that identical class names would cause. System is fundamental
namespace for C# application. It contains all the fundamental classes and base classes
which are required in simple C# application. These classes and sub classes defines
reference data type, method and interfaces. Some classes provide some other feature
like data type conversion, mathematical function. Some functionality provided by
System namespace
Commonly-used value
Mathematics
Remote and local program invocation
Application environment management
Reference data types
Events and event handlers
Interfaces Attributes Processing exceptions
Data type conversion
Method parameter manipulation
Alias of namespace
Below example demonstrate use of alias where A is alias for System.Console
namespaces.
using A=System.Console;
class Abc{
public static void Main(){
A.Write(“Welcome to C# !!!!”);
}
}
Page 31 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
The System namespace contains fundamental classes and base classes that define
commonly-used value and reference data types, events and event handlers, interfaces,
attributes, and processing exceptions.
The System.Collections namespace contains interfaces and classes that define
various collections of objects, such as lists, queues, bit arrays, hash tables and
dictionaries.
The System.Text.RegularExpressions namespace contains classes
like Regex, Match and MatchCollection Class that provide access to the
.NET Framework regular expression engine.
The System.Data namespace provides access to classes that represent the
ADO.NET architecture. ADO.NET lets you build components that efficiently
manage data from multiple data sources.
The System.Drawing parent namespace contains types that support basic GDI+
graphics functionality.
Collection: Collections are basically group of records which can be treated as a one
logical unit.
.NET Collections are divided in to four important categories as follows.
Indexed based.
Key Value Pair.
Prioritized Collection.
Specialized Collection.
Indexed based:
It helps us to access the value by using generated index number by the collection.
ArrayList: A simple resizable, index-based collection of objects.
Key Value Pair: It helps you to access value by the user defined key.
SortedList: A sorted collection of name/value pairs of objects.
Hashtable: A collection of name/value pairs of objects that allows retrieval by name or
index
Prioritized Collection: It helps us to get the element in a particular sequence.
Queue: A first-in, first-out collection of objects
Stack: A last-in, first-out collection of objects
Specialized Collection:
It is very specific collections which are meant for very specific purpose like hybrid
dictionary that start as list and become Hashtable.
StringCollection: A simple resizable collection of strings
StringDictionary: A collection of name/values pairs of strings that allows retrieval by
name or index
ListDictionary: An efficient collection to store small lists of objects
HybridDictionary: A collection that uses a ListDictionary for storage when the number
of items in the collection is small, and then migrate the items to a Hashtable for large
collections
Page 32 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
ArrayList is a non-generic type of collection in C#. It can contain elements of any data
types. It is similar to an array, except that it grows automatically as you add items in it.
Unlike an array, we don't need to specify the size of ArrayList.
Example: Insert()
ArrayList myArryList = new ArrayList();
myArryList.Add(1);
myArryList.Add("Two");
myArryList.Add(3);
Page 33 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
myArryList.Add(4.5);
myArryList.Insert(1, "Second Item");
myArryList.Insert(2, 100);
Example: Remove()
ArrayList arryList1 = new ArrayList();
arryList1.Add(100);
arryList1.Add(200);
arryList1.Add(300);
arryList1.Remove(100); //Removes 1 from ArrayList
Example: RemoveAt()
ArrayList arryList1 = new ArrayList();
arryList1.Add(100);
arryList1.Add(200);
arryList1.Add(300);
arryList1.RemoveAt(1); //Removes the first element from an ArrayList
Example: Contains()
ArrayList myArryList = new ArrayList();
myArryList.Add(100);
myArryList.Add("Hello World");
myArryList.Add(300);
Console.WriteLine(myArryList.Contains(100));
Page 34 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
A generic class can be defined using angle brackets <>. For example, the following is a
simple generic class with a generic member variable, generic method and property.
Example:
class MyGenericClass<T>{
private T genericMemberVariable;
public MyGenericClass(T value){
genericMemberVariable = value;
}
public T genericMethod(T genericParameter){
Console.WriteLine("Parameter type: {0}, value: {1}",typeof(T).ToString(),genericParameter);
Console.WriteLine("Return type: {0}, value: {1}", typeof(T).ToString(), genericMemberVariable);
return genericMemberVariable;
}
In C#, properties are nothing but natural extension of data fields. They are usually
known as ' smart fields' in C# community. We know that data encapsulation and hiding
are the two fundamental characteristics of any object-oriented programming language.
Page 35 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
class MyClient{
public static void Main(){
MyClass mc = new MyClass();
mc.X = 10;
int xVal = mc.X;
Console.WriteLine(xVal);//Displays 10
}
}
Delegate:
The dictionary meaning of ‘Delegates’ is “A person acting for another person”. A
delegate in C# is a class type object & is used to invoke a method that has been
encapsulated into it at the time of its creation. Following steps are used to create
delegate:
Delegate declaration
modifier delegate return_type delegate_name(parameters)
Delegate instantiation
new delegate_type(expression);
Delegate invocation
Delegate_object (parameters);
Note: signature of delegate and function must be same
Page 36 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Example:
public delegate void MyDelegate(int , int );
class Abc{
public void Addition(int a, int b){
Console.WriteLine (“Addition :”+(a+b));
}
public void Subtraction(int a, int b) {
Console.WriteLine (“Subtraction :”+(a-b));
}
}
class Xyz{
public static void Main(){
Abc a1=new Abc();
MyDelegate m1=new MyDelegate(a1.Addition);
MyDelegate m2=new MyDelegate(a1.Subtraction);
m1(10,20);
m2(40,5);
Console.Read();
}
}
Q. What is delegate? Explain multiple delegate with example.
Delegate:
A delegate in C# is similar to a function pointer in C or C++. It is a reference type
object that allows the programmer to encapsulate a reference to a method in it. It
defines the return type and signature for a method and can refer to any methods that
are of the same format in the signature.
When same delegate is used to call method multiple time then it is referred as Multicast
delegate or Multiple delegate.
Following are condition for multicast delegate:
void is used as return type
Out parameter is not allowed as arguments
Example
public delegate void MyDelegate();
class Abc{
public void Show(){
Console.WriteLine (“New Delhi”);
}
public void Display(){
Console.WriteLine (“New York”);
}
}
class Xyz{
public static void Main(){
Abc a1=new Abc();
MyDelegate m1=new MyDelegate(a1.Show);
MyDelegate m2=new MyDelegate(a1.Display);
m1=m1+m2+m1+m2-m1;
m1();
Console.Read();
}
}
Page 37 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT1
Q. Delegates in C# are used for Event Handling. Justify this statement with a
relevant example program
Events:
An important C# feature is built upon the foundation of delegates: the event. An event
is, essentially, an automatic notification that some action has occurred. Events work like
this: An object that has an interest in an event registers an event handler for that
event. When the event occurs, all registered handlers are called. Event handlers are
represented by delegates. Events are members of a class and are declared using the
event keyword.
Here, event-delegate is the name of the delegate used to support the event, and event-
name is the name of the specific event object being declared.
Example:
using System;
delegate void MyEventHandler();
class MyEvent{
public event MyEventHandler SomeEvent;
public void OnSomeEvent() {
if(SomeEvent != null)
SomeEvent();
}
}
class EventDemo{
static void Handler() {
Console.WriteLine("Event occurred");
}
static void Main(){
MyEvent evt = new MyEvent();
evt.SomeEvent += Handler; evt.OnSomeEvent();
}
}
Page 38 of 38
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
www.acuityeducare.com
Acuity Educare
ADVANCED WEB
PROGRAMMING
SEM : V
SEM V: UNIT 2
Q. List and explain different files and folder in ASP.NET web application.
ASP.NET File Types: - ASP.NET applications can include many types of files. Below table
show list of files.
.aspx These are ASP.NET web pages. They contain the user
interface and, optionally, the underlying application code.
Users request or navigate directly to one of these pages to
start our web application
.ascx These are ASP.NET user controls. User controls are similar to
web pages, except that the user can’t access these files
directly. Instead, they must be hosted inside an ASP.NET
web page. User control allow you to develop a small piece of
user interface and reuse it in as many web forms as you want
without repetitive code.
global.asax This is the global application file. You can use this file to
define global variables (variables that can be accessed from
any web page in the web application) and react to global
events (such as when a web application first starts).
.cs These are code-behind files that contain C# code. They allow
you to separate the application logic from the user interface
of a web page.
Page 1 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Presentation Layer
The presentation layer consists of the Asp.net page that manages the appearance
of application. This layer can include bound data controls and ObjectDataSource
objects that bind data controls to the data.
Middle Layer
The middle layer contains the data access classes that manage the data access for
the application. This layer can also contain business objects that represent business
entities such as customers, products or employee and that implement business rules
such as credit and discount policies.
Database Layer
This layer consists of the database that contains the data for the application. Ideally
the SQL statement that do the database access should be saved in stored procedure
within the database, nut the SQL statement are often stored in the data access
classes.
Page 2 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Page load
At this stage, control properties are set using the view state and control state values.
Validation
Validate method of the validation control is called and if it runs successfully, the IsValid
property of the page is set to true.
Page rendering
At this stage, view state for the page and all controls are saved.
Unload
The rendered page is sent to the client and page properties, such as Response and
Request are unloaded and all cleanup done.
Page 3 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Page 4 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
The Global.asax file, also known as the ASP.NET application file, is an optional file
that contains code for responding to application-level events raised by ASP.NET or
by HttpModules.
The Global.asax file resides in the root directory of an ASP.NET-based application.
The Global.asax file is parsed and dynamically compiled by ASP.NET.
The Global.asax file itself is configured so that any direct URL request for it is
automatically rejected; external users cannot download or view the code written
within it.
The Global.asax file does not need recompilation if no changes have been made to
it. There can be only one Global.asax file per application and it should be located in
the application's root directory only.
The Global.asax contains two types of events those are
Events which are fired for every request
Events which are not fired for every request
Application_BeginRequest() – This event raised at the start of every request for the
web application. Application_EndRequest() – This event raised at the end of each
request right before the objects released.
Application_PreRequestHandlerExecute() – This event called before the appropriate HTTP
handler executes the request.
Application_PostRequestHandlerExecute() – This event called just after the request
is handled by its appropriate HTTP handler.
Events which are not fired for every request:-
Application_Start() – This event raised when the application starts up and
application domain is created.
Session_Start() – This event raised for each time a new session begins, This is a
good place to put code that is session-specific.
Application_Error() – This event raised whenever an unhandled exception occurs in
the application. This provides an opportunity to implement generic application-wide
error handling.
Session_End() – This event called when session of user ends.
Application_End() – This event raised just before when web application ends.
Application_Disposed() – This event fired after the web application is destroyed and
this event is used to reclaim the memory it occupies.
Web.Config
Configuration file is used to manage various settings that define a website. The
settings are stored in XML files that are separate from our application code. In
this way we can configure settings independently from our code.
Generally a website contains a single Web.config file stored inside the application root
directory. However there can be many configuration files that manage settings at
various levels within an application.
There are number of important settings that can be stored in the configuration file.
Some of the most frequently used configurations, stored conveniently inside
Web.config file are:
Database connections
Caching settings
Session States
Error Handling
Security
Benefits of XML-based Configuration files
ASP.NET Configuration system is extensible and application specific information can be
stored and retrieved easily. It is human readable.
We need not restart the web server when the settings are changed in configuration file.
ASP.NET automatically detects the changes and applies them to the running ASP.NET
application.
Configuration file looks like this
1. <configuration>
2. <connectionStrings>
3. <add name="myCon"connectionString=" server=MyServer; database=puran;
uid=abcd;pwd=abcd1234" />
4. </connectionStrings>
5. </configuration>
Page 6 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
This is an input control which is used to take user input. To create TextBox either
we can write code or use the drag and drop facility of visual studio IDE.
This is server side control, asp provides own tag to create it. The example is given below.
< asp:TextBoxID="TextBox1" runat="server" ></asp:TextBox>
This control has its own properties that are tabled below.
Property Description
Text It is used to set text to be shown for the control.
Page 7 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
These controls differ only in how they appear to the user. A button displays text
within a rectangular area. A Link button displays text that look like a hyperlink and
an image button displays an image.
LinkButton control is a control just like a Button control along with the
flexibility to make it look like a Hyperlink. It implements an anchor <a/> tag
that uses only ASP.NET postback mechanism to post the data on the server.
Despite being a hyperlink, we can't specify the target URL. ImageButton
control is used to post the form or fire an event either client side or server side.
It’s like a asp:Button control, the only difference is, we have the ability to place
our own image as a button. ImageButton control is generally used to post the
form or fire an event either client side or server side.
Button control is used to post the form or fire an event either client side or
server side. Button control is generally used to post the form or fire an event
either client side or server side. When it is rendered on the page, it is generally
implemented through <input type=submit> HTML tag.
CheckBox:
CheckBox control is an asp.net web server control. CheckBox control visually as
square on web forms. The Checkbox control allow user to check square or uncheck
square. In CheckBox control check and uncheck checkbox specify by the checked
property of check box true or false.
Basic syntax for check box:
<asp:CheckBox ID= "chkoption" runat= "Server"></asp:CheckBox>
CheckBox properties:
AutoPostBack:Specifies whether the form should be posted immediately after
the Checked property has changed or not. Default is false
Page 8 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
RadioButton
Radiobutton isasp.net web server control. Radiobutton is used to allow user to select a
single radiobutton from group of radiobutton. In asp.net generally we use more
than one radiobutton and select only one radiobutton at a time from all the
radiobutton control. On other hand in checkbox control we can check and uncheck
multiple check box at a time.
Basic syntax for radio button:
RadioButton properties:
AutoPostBack:A Boolean value that specifies whether the form should be posted
immediately after the Checked property has changed or not. Default is false
Checked : A Boolean value that specifies whether the radio button is checked or not
id a unique id for the control
GroupName : The name of the group to which this radio button belongs
Text : The text next to the radio button
Page 9 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Q. What is the difference between List Box and Drop-Down Lists? List and
explain any three common properties of these controls.
List boxes are used in cases where there are small numbers of items to be selected. In
contrast, drop-down lists are typically used with larger list so that they don’t take up
much space on the page.
A list box lets a user select one or more items from the list of items. A drop-
down list lets a user choose an item from the drop-down list of items.
Following are common properties of ListBox and DropDownList:
Page 10 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Properties Description
Items Gets the collection of items from the dropdown box.
SelectedValue Get the value of the Selected item from the dropdown box.
SelectedIndex Gets or Sets the index of the selected item in the dropdown box.
SelectedItem Gets the selected item from the list.
Sorted
The Sorted property set to true, the ListBox items are sorted. The following code
snippet sorts the ListBox items.
listBox1.Sorted = true;
Selected Mode:
SelectionMode property defines how items are selected in a ListBox. The
SelectionMode value can be one of the following four SelectionMode enumeration
values. None - No item can be selected. One - Only one item can be selected.
MultiSimple - Multiple items can be selected. MultiExtended - Multiple items can
be selected, and the user can use the SHIFT, CTRL, and arrow keys to make
selections.
listBox1.SelectionMode = SelectionMode.MultiSimple;
ListBox1.SetSelected(1, true);
listBox1.SetSelected(2, true);
Page 11 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
MultiColumn:
A multicolumn ListBox places items into as many columns as are needed to make vertical
scrolling unnecessary. The user can use the keyboard to navigate to columns that are not
currently visible. Set the HorizontalScrollbar property to true to display a horizontal scroll
bar that enables the user to scroll to columns that are not currently shown in the visible
region of the ListBox. The value of the ColumnWidth property determines the width of
each column.
listBox1.MultiColumn = true;
SelectedItem
Gets or sets the currently selected item in the ListBox. We can get text associated
with currently selected item by using Items property.
string selectedItem = listBox1.Items[listBox1.SelectedIndex].ToString();
SelectedIndex
Gets or sets the zero-based index of the currently selected
item in a ListBox.
listBox1.SelectedIndex = 1;
Table control is used to structure a web pages. In other words to divide a page into
several rows and columns to arrange the information or images. When it is rendered
on the page, it is implemented through <table> HTML tag. We can simply use
HTML <table> control instead of using <asp:Table> control. However many of one
benefits of using <asp:Table> control is we can dynamically add rows or columns at
the runtime or change the appearance of the table. Following are some important
properties that are very useful.
BackImageUrl Used to set background image of the table
Caption Used to write the caption of the table.
Example:
ASP.NET code for a table control
<asp:Table ID="Table1" runat="server" Height="123px" Width="567px">
<asp:TableRow runat="server">
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
</asp:TableRow>
<asp:TableRow runat="server">
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
<asp:TableCell runat="server"></asp:TableCell>
</asp:TableRow>
</asp:Table>
Page 12 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Page 13 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
The AdRotator is one of the rich web server control of asp.net. AdRotator control is
used to display a sequence of advertisement images as per given priority of image.
Adrotator control display the sequence of images, which is specified in the external
XML file. In xml file we indicate the images to
display with some other attributes, like image impressions, NavigateUrl,
ImageUrl, AlternateText.
In Adrotator control images will be changed each time while refreshing the web page.
AdRotator Control Example in ASP.Net
advertisement file:
Page 14 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
<Ad>
<ImageUrl>rose2.jpg</ImageUrl>
<NavigateUrl>http://www.babybouquets.com.au</NavigateUrl>
<AlternateText>Order roses and flowers</AlternateText>
<Impressions>20</Impressions>
<Keyword>gifts</Keyword>
</Ad>
<Ad>
<ImageUrl>rose3.jpg</ImageUrl>
<NavigateUrl>http://www.flowers2moscow.com</NavigateUrl>
<AlternateText>Send flowers to Russia</AlternateText>
<Impressions>20</Impressions>
<Keyword>russia</Keyword>
</Ad>
</Advertisements>
Create a new web page and place an AdRotator control on it.
<form id="form1" runat="server">
<div>
<asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile ="~/ads.xml"
onadcreated="AdRotator1_AdCreated" />
</div>
</form>
Object->Control->WebControl->Calendar
The Calendar is complex, powerful Web server control that you can use to add
calendar feature to our web page. We can use calendar control display any date
between 0 A.D. and 9999A.D.The Calendar control is represented as:
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
Page 15 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
The Calendar control when rendered to a user browser, it generates an HTML <table>
element and a set of associated JavaScript. The Calendar control can be used to select a
single date or multiple dates. The SelectionMode property is used for this. The
SelectionMode properties are as:
Page 16 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Page 17 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Q. What is user control? How to create and use user control in ASP.NET Page.
<%@RegisterTagPrefix="My"TagName="UserInfoBoxControl"Src="~/UserInfoBoxCont
rol.ascx" %>
Make sure that the src value matches the path to your UserControl file. Now you
may use the UserControl in your page, like any other control. For instance, like this:
<My:UserInfoBoxControlrunat="server"ID="MyUserInfoBoxControl"/>
Q. Why we use validation controls? List various types of controls used in asp.net
Validation is important part of any web application. User's input must always be
validated before sending across different layers of the application.
Validation controls are used to:
An important aspect of creating ASP.NET Web pages for user input is to be able to
check that the information users enter is valid. ASP.NET provides a set of validation
controls that provide an easy-to- use but powerful way to check for errors and, if
necessary, display messages to the user.
Page 18 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Page 19 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
RegularExpressionValidator
The RegularExpressionValidator allows validating the input text by matching against a
pattern of a regular expression. The regular expression is set in the
ValidationExpression property.
The syntax of the control is as given:
<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
ValidationExpression="string" ValidationGroup="string">
</asp:RegularExpressionValidator
Q. What is the use of Compare Validator? Explain it along with its properties.
CompareValidator Control
The CompareValidator control allows you to make comparison to compare data entered
in an input control with a constant value or a value in a different control.
It can most commonly be used when you need to confirm password entered by the
user at the registration time. The data is always case sensitive.
It has the following specific properties:
Example:
The CustomValidator control allows writing application specific custom validation routines
for both the client side and the server-side validation.
The client-side validation is accomplished through the ClientValidationFunction property.
The client- side validation routine should be written in a scripting language, such as
JavaScript or VBScript, which the browser can understand.
The server-side validation routine must be called from the control's ServerValidate event
handler. The server-side validation routine should be written in any .Net language, like C#
or VB.Net.
Below table shows the properties of CustomValidator.
Example:
In this below example we will simply check the length of the string in the TextBox. Custom
Text:<br />
<asp:TextBox runat="server" id="txtCustom" />
<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtCustom"
onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8
characters long!" />
<br /><br />
protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e){
if(e.Value.Length == 8)
e.IsValid = true; else
e.IsValid = false;
}
Page 21 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
The Menu control is used to create a menu of hierarchical data that can be used to
navigate through the pages. The Menu control conceptually contains two types of items.
First is StaticMenu that is always displayed on the page, second is DynamicMenu that
appears when opens the parent item. Following steps are used to create Menu Control:
Toolbox > Navigation > Menu or add the following few lines of code snippet.
<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal">
<Items>
<asp:MenuItem Text="HOME" NavigateUrl="~/Default.aspx" Selected="true" />
<asp:MenuItem Text="HTML" NavigateUrl="~/HTML.aspx">
<asp:MenuItem Text="HtmlTagList" NavigateUrl="~/HtmlTagList.aspx" />
</asp:MenuItem>
Page 22 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
Each node in the Tree is represented by a name/value pair (not necessarily unique),
defined by the Text and Value properties of TreeNode, respectively. The text of a
node is rendered, whereas the value of a node is not rendered and is typically used
as additional data for handling postback events.
This example also uses the ExpandDepth property of TreeView to automatically
expand the tree 1 level deep when it is first rendered.
The TreeView control is made up of one or more nodes. Each entry in the tree is called a
node and is represented by a TreeNode
Page 23 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT2
The SiteMapPath control basically is used to access web pages of the website from
one webpage to another. It is a navigation control and displays the map of the site
related to its web pages.
This map includes the pages in the particular website and displays the name of those
pages. We can click on that particular page in the Site Map to navigate to that page.
We can say that the SiteMapPath control displays links for connecting to URLs of other
pages.
The SiteMapPath control uses a property called SiteMapProvider for accessing data
from databases and it stores the information in a data source.
The representation of the SiteMapPath control is as follows:
Root Node->Child Node
PathSeperator : It specifies the string that displays the SiteMapPath nodes in the
rendered navigation path.
Style properties of the SiteMapPath class
CurrentNodeStyle : It specifies the style used for the display text for the current node.
RootNodeStyle : It specifies the style for the root node style text.
NodeStyle : It specifies the style used for the display text for all nodes in the site
navigation path.
Sitemap file has been included in our project and we can see it in the Solution
Explorer. And now we have to set the URL and title attributes in the sitemap file.
<?xml version="1.0" encoding="utf-8" ?>
Page 24 of 24
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
www.acuityeducare.com
Acuity Educare
ADVANCED WEB
PROGRAMMING
SEM : V
SEM V: UNIT 3
1xx: Informational
2xx: Success
3xx: Redirection
Page 1 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Under the top level information, there is Trace log, which provides details of page life cycle. It
provides elapsed time in seconds since the page was initialized.
To check the Warn method, let us forcibly enter some erroneous code in the selected
index changed event handler:
try
{
int a = 0;
int b = 9 / a;
}
catch (Exception e)
{
Trace.Warn("UserAction", "processing 9/a", e);
}
Try-Catch is a C# programming construct. The try block holds any code that may or may
not produce error and the catch block catches the error. When the program is run, it
sends the warning in the trace log.
Application level tracing applies to all the pages in the web site. It is implemented by putting the
following code lines in the web.config file:
<system.web>
<trace enabled="true" />
</system.web>
Error Handling
Although ASP.NET can detect all runtime errors, still some subtle errors may still be
there. Observing the errors by tracing is meant for the developers, not for the users.
Hence, to intercept such occurrence, we can add error handing settings in the web.config file of the
application. It is application-wide error handling. For example, we can add the following lines in the
web.config file:
<configuration>
<system.web>
</system.web>
<configuration>
When debugging is enabled, the following lines of codes are shown in the web.config:
<system.web>
<compilation debug="true">
<assemblies>
..............
</assemblies>
</compilation>
</system.web>
The Debug toolbar provides all the tools available for debugging:
Breakpoints
Breakpoints specifies the runtime to run a specific line of code and then stop execution so
that the code could be examined and perform various debugging jobs such as, changing
the value of the variables, step through the codes, moving in and out of functions and
methods etc.
To set a breakpoint, right click on the code and choose insert break point. A red dot appears on the
left margin and the line of code is highlighted as shown:
Page 3 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Next when you execute the code, you can observe its behavior.
At this stage, you can step through the code, observe the execution flow and examine
the value of the variables, properties, objects, etc.
We can modify the properties of the breakpoint from the Properties menu obtained by right clicking
the breakpoint glyph:
Q3. Why exception handling is required? Write syntax for user define exception?
Exception handling:
The mechanism of Exception Handling is throwing an exception and catching it C#
uses try-catch block. Code which may give rise to exceptions is enclosed in a try
block, and
Catch block catches that exception and handles it appropriately. The try block is followed by one or
more catch blocks.
Basic syntax:
{
catch (Exception e)
//message on exception
finally
{
Page 4 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
// always executes
}
Try:A try block identifies a block of code for which particular exceptions will be
activated. It's
followed by one or more catch blocks.
Catch:A program catches an exception with an exception handler at the place in a program
where
you want to handle the problem. The catch keyword indicates the catching of an exception.
Finally:The finally block is used to execute a given set of statements, whether an exception
is thrown
or not thrown. For example, if you open a file, it must be closed whether an exception is
raised or
not.
Example:
using System;
class tryCatch
int k=0;
try
int n= 10/k;
Console.WriteLine(”n=” + n);
catch(Exception e)
}
Page 5 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
class Student
{
public int StudentID { get; set; }
public string StudentName { get; set; }
}
try
{
newStudent = new Student();
newStudent.StudentName = "James007";
ValidateStudent(newStudent);
}
catch(InvalidStudentNameException ex)
{
Console.WriteLine(ex.Message );
}
Console.ReadKey();
}
private static void ValidateStudent(Student std)
{
Regex regex = new Regex("^[a-zA-Z]+$");
if (!regex.IsMatch(std.StudentName))
throw new InvalidStudentNameException(std.StudentName);
}
}
Page 6 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Application State:
If the information that we want to be accessed or stored globally throughout the
application, even if multiple users access the site or application at the same time,
then we can use an Application Object for such purposes.
It stores information as a Dictionary Collection in key - value pairs. This value is
accessible across the pages of the application / website.
There are 3 events of the Application which are as follows
Application_Start
Application_Error
Application_End
Example - Just for an example, I am setting the Page title in the Application Start event
of the Global.asax file.
Code for setting value to the Application Object - "PageTitle" is the Key and "Welcome to State
Management Application" is the value.
Page 7 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Q6. What is Query String? Explain encoding and decoding of Query string
Query String is the most simple and efficient way of maintaining information across
requests.
The information we want to maintain will be sent along with the URL. A typical URL
with a query string looks like www.somewebsite.com/search.aspx?query=foo
The URL part which comes after the? Symbol is called a QueryString.
QueryString has two parts, a key and a value. In the above example, query is
the key and foo is its value.
We can send multiple values through querystring, separated by the & symbol. The
following code shows sending multiple values to the foo.aspx page.
Response.Redirect("foo.aspx?id=1&name=foo");
The following code shows reading the QueryString values in foo.aspx
String id = Request.QueryString["id"];
String name = Request.QueryString["name"];
Page 8 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Creation of cookies:
It’s really easy to create a cookie in the Asp.Net with help of Response object or HttpCookie
Example 1:
HttpCookie userInfo = new HttpCookie("userInfo");
userInfo["UserName"] = "Annathurai";
userInfo["UserColor"] = "Black";
userInfo.Expires.Add(new TimeSpan(0, 1, 0));
Response.Cookies.Add(userInfo);
Example 2:
Response.Cookies["userName"].Value = "Annathurai";
Response.Cookies["userColor"].Value = "Black";
Retrieve from cookie
Its easy way to retrieve cookie value form cookes by help of Request object.
Example 1:
Example 2:
Page 9 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
When we make request from client to web server, the web server process the request and give the
lot of information with big pockets which will have Header information, Metadata, cookies etc., Then
repose object can do all the things with browser.
Disadvantages of Cookie
If user clears cookie information we can't get it back.
No security.
Each request will have cookie information with page.
Q8. Write a program to create a new cookie with the name “Username” and add it to
the HttpResponse object on the click of a button. Set the expiry date of the cookie to
One year from Now.
protected void Button1_Click(object sender, EventArgs e)
{
HttpCookie Username = new HttpCookie("UserName",
"WELCOME"); Username.Expires=DateTime.Now.AddYears(1);
Response.Cookies.Add(Username);
}
View State
View State is the method to preserve the Value of the Page and Controls between
round trips. It is a Page-Level State Management technique.
View State is turned on by default and normally serializes the data in every control on
the page regardless of whether it is actually used during a post-back.
Features of View State
These are the main features of view state:
Retains the value of the Control after post-back without using a session.
Stores the value of Pages and Control Properties defined in the page.
Creates a custom View State Provider that lets you store View State
Information in a SQL Server Database or in another data store.
Page 10 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Example:
If we want to add one variable in View State,
ViewState["Var"]=Count;
For Retrieving information from View State
string Test=ViewState["TestVal"];
Working of Session:
ASP.NET maintains a unique id which is called as "session id" for each session.
This id is generated using a custom algorithm and it is unique always.
Session id will be sent to the client as a cookie and the browser resends this upon each
request.
ASP.NET uses this session id to identify the
session object. string sessionId =
Session.SessionID
Page 12 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Session State
Session state is user and browser specific.
Session state can be stored in memory on the server as well as client's cookies.
If client has disabled cookies in his browser then session state will be stored in URL.
Session state has scope to the current browser only. If we change the browser
session id is changed.
Application State
Application state is application specific.
Application state is stored only in the memory on the server.
Application state does not track client's cookies or URL.
Application state has no scope to the current browser. If we change the browser
application id remains same.
Q11. Explain the different types of CSS present in ASP.NET.
There are three types of CSS as follows:
External CSS
Internal CSS or Embedded CSS
Inline CSS
External Style Sheet
The first way to add CSS style sheets to your web pages is through the <link>
element that points to an external CSS file.
For example the following <link> shows what options you have when embedding a
style sheet in your page:
<link href=”StyleSheet.css” rel=”Stylesheet” type=”text/css” media=”screen” />
The href property points to a file within our site when we create links between two
pages. The rel and type attributes tell the browser that the linked file is in fact a
cascading style sheet. The media attribute enables us to target different devices,
including the screen, printer, and handheld devices. The default for the media
attribute is screen, so it’s OK.
Embedded style sheet
The second way to include style sheets is using embedded <style> elements. The
<style> element should be placed at the top of your ASPX or HTML page, between
the <head> tags.
For example, to change the appearance of an <h1> element in the current page
alone, we can add the following code to the <head> of our page:
<head runat=”server”>
<style type=”text/css”>
h1
{
color: Blue;
}
</style>
</head>
Page 13 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Universal Selector
The Universal selector, indicated by an asterisk (*), applies to all elements in your page. The
Universal selector can be used to set global settings like a font family. The following rule set
changes the font for all elements in our page to Arial:
*{
font-family: Arial;
}
Type Selector
The Type selector enables us to point to an HTML element of a specific type. With a Type
selector all HTML elements of that type will be styled accordingly.
h1
{
color: Green;
}
This Type selector now applies to all <h1> elements in your code and gives them a green
color. Type Selectors are not case sensitive, so you can use both h1 and H1 to refer to the
same heading.
ID Selector
The ID selector is always prefixed by a hash symbol (#) and enables us to refer to a single
element in the page. Within an HTML or ASPX page, we can give an element a unique ID
using the id attribute. With the ID selector, we can change the behavior for that single
element, for example:
#IntroText
{
font-style: italic;
}
Because we can reuse this ID across multiple pages in our site (it only must be unique
within a single page), you can use this rule to quickly change the appearance of an element
that you use once per page, but more than once in our site, for example with the following
HTML code:
<p id=”IntroText”>I am italic because I have the right ID. </p>
Page 14 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Class Selector
The Class selector enables us to style multiple HTML elements through the class attribute.
This handy when we want to give the same type of formatting to several unrelated HTML
elements. The following rule changes the text to red and bold for all HTML elements that
have their class attributes set to highlight:
.Highlight
{
font-weight:
bold;color: Red;
}
The following code snippet uses the Highlight class to make the contents of a <span>
element and a link (<a>) appear with a bold typeface:
This is normal text but <span class=”Highlight”>this is Red and
Bold.</span> This is also normal text but
<a href=”CssDemo.aspx” class=”Highlight”>this link is Red and Bold as well.</a>
Q13. Explain <LINK> tag with example
The HTML <link> tag is used for defining a link to an external document. It is placed in the
<head> section of the document.
The <link> tag defines a link between a document and an external resource.
The <link> tag is used to link to external style sheets.
Syntax:
<head><link rel="stylesheet" type="text/css" href="theme.css"></head
Example:
<html>
<head>
<title>HTML link Tag</title>
<link rel="stylesheet" type="text/css" href="default.css" />
</head>
<body>
<div>
<p>Welcome to our website. We provide tutorials on various subjects.</p>
</div>
</body>
</html>
Where,
rel-can be used to specify the relationship of the target of the link to the current page.
type-This attribute Provides information about the content type of the destination
resource, telling wether it's an HTML document, a JPG image, an Excel document, etc.
href(uri)-The "href" attribute specifies the destination resource, which the element is linking to.
Itmay specify a resource in the same website or in an external one.
Page 15 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Q14. What is Theme? How to create and use theme in ASP.NET page.
A theme decides the look and feel of the website. It is a collection of files that define
the looks of a page. It can include skin files, CSS files & images.
We define themes in a special App_Themes folder. Inside this folder is one or more
subfolders named Theme1, Theme2 etc. that define the actual themes. The theme
property is applied late in the page's life cycle, effectively overriding any customization
we may have for individual controls on our page.
There are 3 different options to apply themes to our website:
1. Setting the theme at the page level: The Theme attribute is added to the page directive of the
page.
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="Default"T
heme="Theme1"%>
2. Setting the theme at the site level: to set the theme for the entire website we can set the
theme in the web.config of the website. Open the web.config file and locate the
<pages> element and add the theme attribute to it:
<pagestheme="Theme1">
....
....
</pages>
3. Setting the theme programmatically at runtime: here the theme is set at runtime
through coding. It should be applied earlier in the page's life cycle ie. Page_PreInit
event should be handled for setting the theme. The better option is to apply this to the
Base page class of the site as every page in the site inherits from this class.
Page.Theme = Theme1;
Uses of Themes
1. Since themes can contain CSS files, images and skins, you can change colors, fonts,
positioningand images simply by applying the desired themes.
2. We can have as many themes as we want, and we can switch between them by setting
a singleattribute in the web.config file or an individual aspx page. Also, we can switch
between themesprogrammatically.
3. Setting the themes programmatically, we are offering our users a quick and easy way
to changethe page to their likings.
4. Themes allow us to improve the usability of our site by giving users with vision
problems theoption to select a high contrast theme with a large font size.
Page 16 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
After adding the theme folder, add the SkinFile.skin file by right-clicking on the ASP.Net
themefolder. The Solution Explorer will then look as follows:
Now add the ASP.Net controls inside the SkinFile.Skin and assign the Style to the controls using
their properties as in the following:
To use existing ASP.Net Skins in an ASP.Net page we need to assign the existing theme at page
level as in the following.
Page 17 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
In the preceding source code, we are assigning the existing ASP.Net Skin File at page
level, theexisting ASP.Net Skin automatically appears in the box after using the Themes
property in the page header.
Assigning the Skin to the ASP.Net Controls
to assign the skin to the ASP.Net controls, you need to assign it to the control's SkinId
Propertyas in the following:
Page 18 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
Page 19 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT3
A derived page also known as a content page is simply a collection of blocks the runtime
will use to fill the regions in the master.
To provide content for a ContentPlaceHolder, you use another specialized control, called
Content.
The ContentPlaceHolder control and the Content control have a one-to-one relationship.
For each ContentPlaceHolder in the master page, the content page supplies a matching
Content control
ASP.NET links the Content control to the appropriate ContentPlaceHolder by matching the
ID of the ContentPlaceHolder with the Content ContentPlaceHolderID property of the
corresponding Content control.
Page 20 of 20
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
www.acuityeducare.com
Acuity Educare
ADVANCED WEB
PROGRAMMING
SEM : V
SEM V: UNIT 4
ADO.NET provides a bridge between the front-end controls and the back-end database. The
ADO.NET objects encapsulate all the data access operations and the controls interact with these
objects to display data, thus hiding the details of movement of data.
ADO.NET consist of a set of Objects that expose data access services to the .NET environment.
It is a data access technology from Microsoft .Net Framework, which provides communication
between relational and non-relational systems through a common set of components.
System.Data namespace is the core of ADO.NET and it contains classes used by all data
providers. ADO.NET is designed to be easy to use, and Visual Studio provides several wizards and
other features that we can use to generate ADO.NET data access code.
The two key components of ADO.NET are Data Providers and DataSet. The Data Provider
classes are meant to work with different kinds of data sources. They are used to perform all data-
management operations on specific databases. DataSet class provides mechanisms for
managing data when it is disconnected from the data source.
Data Providers
The .Net Framework includes mainly three Data Providers for ADO.NET. They are the Microsoft
SQL Server Data Provider, OLEDB Data Provider and ODBC Data Provider. SQL Server uses
the SqlConnection object , OLEDB uses the OleDbConnection Object and ODBC uses
OdbcConnection Object respectively
A data provider contains Connection, Command, DataAdapter, and DataReader objects.
These four objects provide the functionality of Data Providers in the ADO.NET.
DataSet
DataSet provides a disconnected representation of result sets from the Data Source, and it is
completely independent from the Data Source. DataSet provides much greater flexibility when
dealing with related Result Sets.
Page 1 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Q. Explain Command Class and DataAdapter class with properties and methods
Command class properties and methods
Page 2 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Page 3 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Page 4 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Page 5 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Page 6 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
The following table provides the related sets of properties of the SqlDataSource control,
which provides the programming interface of the control:
The following code snippet shows a data source control enabled for data manipulation:
Page 7 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Q. What is a GridView control? Explain how to enable row selection, paging and sorting
features of GridView.
The GridView control displays the values of a data source in a table. Each column represents
a field, while each row represents a record. The GridView control supports the following
features:
Binding to data source controls, such as SqlDataSource.
Built-in sort capabilities.
Built-in update and delete capabilities.
Built-in paging capabilities.
Built-in row selection capabilities.
Multiple key fields.
Multiple data fields for the hyperlink columns.
Customizable appearance through themes and styles
Sorting allows the user to sort the items in the GridView control with respect to a specific
column by clicking on the column's header. To enable sorting, set the AllowSorting property to
true.
AllowSorting="True"
Instead of displaying all the records in the data source at the same time, the GridView control
can automatically break the records up into pages. To enable paging, set the AllowPaging
property to true.
AllowPaging="True"
Also we can set how many rows we want to see in a page.
PageSize="4"
Example:
<asp:gridview AllowSorting="true" AllowPaging="true" PageSize="5" ID="Gridview1"
runat="server"
DataKeyNames="pid" DataSourceID="SqlDS" >
<Columns>
<asp:BoundField DataField="pname" HeaderText="PRODUCT NAME"
SortExpression="pname"></asp:BoundField>
</Columns>
</asp:gridview>
Page 8 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Page 9 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Properties Description
AllowPaging Gets or sets a value indicating whether the paging feature is enabled.
DataSource Gets or sets the object from which the data-bound control retrieves its
list of data items.
DataSourceID Gets or sets the ID of the control from which the data-bound control
retrieves its list of data items.
AutoGenerateEditButton Gets or sets a value indicating whether the built-in controls to edit the
current record are displayed in a DetailsView control.
AutoGenerateDeleteButton Gets or sets a value indicating whether the built-in control to delete
the current record is displayed in a DetailsView control.
AutoGenerateRows Gets or sets a value indicating whether row fields for each field in the
data source are automatically generated and displayed in
a DetailsView control.
DefaultMode Get or sets the default data-entry mode of the DetailsView control.
SqlConnection conn;
SqlDataAdapter adapter;
DataSet ds;
SqlCommand cmd;
string cs = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
protected void PopulateDetailView()
{
try
{
conn = new SqlConnection(cs);
adapter = new SqlDataAdapter("select * from tblEmps", conn);
ds = new DataSet();
adapter.Fill(ds);
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
}
catch (Exception ex)
{
Label1.Text = "ERROR :: " + ex.Message;
}
}
protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
{
DetailsView1.PageIndex = e.NewPageIndex;
PopulateDetailView();
}
protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
DetailsView1.ChangeMode(e.NewMode);
PopulateDetailView();
}
Page 10 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Q. Briefly explain FormView control. How is it different from DetailsView?
Like DetailsView, FormView also displays a single record from the data source at a
time. Both controls can be used to display, edit, insert and delete database records but one
at a time. Both have paging feature and hence support backward and forward traversal.
FormView is a new data-bound control that is nothing but a templated version of
DetailsView control. The major difference between DetailsView and FormView is, here user
need to define the rendering template for each item.
The FormView control provides more formatting and layout options than DetailsView.
The DetailsView control uses <BoundField> elements or <TemplateField> elements to
display bound data whereas FormView can use only templates to display bound data.
The FormView control renders all fields in a single table row whereas the DetailsView
control displays each field as a table row.
When compare to DetailsView, the FormView control provides more control over
the layout.
Following are some important properties that are very useful.
Page 11 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
Q. What is the difference between ListView and Gridview control? Explain the ListView
control.
ListView presents the data in rows and columns just like a GridView control. The main
difference between the ListView control and Gridview control is that the ListView control includes
an additional row for inserting a new row into the table.
ListView Control:
The ListView control displays columns and rows of data and allows sorting and paging. It is by
far the most popular data display control and is ideal for understanding how data display
controls interact with data retrieval controls and code.
ListView provides various templates which we can use to display the data. The templates are:
o LayoutTemplate
o ItemTemplate
o ItemSeparatorTemplate
o GroupTemplate
o GroupSeparatorTemplate
o EmptyItemTemplate
o EmptyDataTemplate
o SelectedItemTemplate
o AlternatingItemTemplate
o EditItemTemplate
o InsertItemTemplate
Example:
<form id="form1" runat="server">
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
</asp:ListView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT * FROM [Customer]"></asp:SqlDataSource>
</form>
Page 12 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT4
A provider is software that provides a standardized interface between a service and a data
source. ASP.NET providers are as follows:
Membership
Role management
Site map
Profile
Session state etc.
At the top of the diagram you see the ASP.NET 4 web sites and web applications that represent the
web sites that you build. These web sites can contain controls like the login controls that in turn can
talk to the ASP.NET application services such as membership and profile. To create a flexible
solution, these services don’t talk to an underlying data source directly, but instead talk to a
configured provider.
A provider is an interchangeable piece of software that is designed for a specific task. For example, in
the case of the membership services, the membership provider is designed to work with users in the
underlying data store. You can configure different providers for the same application service depending
on your needs.
Page 13 of 13
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
www.acuityeducare.com
Acuity Educare
ADVANCED WEB
PROGRAMMING
SEM : V
SEM V: UNIT 5
Page 1 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Following C# code is saving all the user input values in XML file.
protected void Button1_Click(object sender, EventArgs e)
{
XmlTextWriter writer = null;
try
{
string filePath = Server.MapPath("~") + "\\Product.xml";
writer = new XmlTextWriter(filePath, System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteComment("Created On: " + DateTime.Now.ToString("dd-MMM-yyyy"));
writer.WriteComment("===============================");
writer.WriteStartElement("Product");
writer.WriteAttributeString("ProductID", TextBox1.Text);
writer.WriteElementString("ProductName", TextBox2.Text);
writer.WriteElementString("ProductQuantity", TextBox3.Text);
writer.WriteElementString("ProductPrice", TextBox4.Text);
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Flush();
Response.Redirect("Product.xml");
}
catch (Exception ex){ }
}
Page 2 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
}
protected void BindDataToGridview()
{
XmlTextReader xmlreader = new
Page 3 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
XmlTextReader(Server.MapPath("~/App_Data/TernTenders.xml"));
DataSet ds = new DataSet();
ds.ReadXml(xmlreader);
xmlreader.Close();
if (ds.Tables.Count != 0)
{
GridView1.DataSource = ds;
GridView1.DataBind();
DropDownList1BillNo.DataSource = ds;
DropDownList1BillNo.DataTextField = "BillNo";
DropDownList1BillNo.DataValueField = "BillNo";
DropDownList1BillNo.DataBind();
DropDownList2PageNo.DataSource = ds;
DropDownList2PageNo.DataTextField = "PageNo";
DropDownList2PageNo.DataValueField = "PageNo";
DropDownList2PageNo.DataBind();
DropDownList3Activity.DataSource = ds;
DropDownList3Activity.DataTextField = "Activity";
DropDownList3Activity.DataValueField = "Activity";
DropDownList3Activity.DataBind();
}
}
Page 4 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Page 5 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
}
}
Page 6 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Page 7 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
</author>
<price>11.99</price>
</book>
</bookstore>
Data.xsl
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<xsl:element name="Authors">
<xsl:apply-templates select="//book"/>
</xsl:element>
</xsl:template>
<xsl:template match="book">
<xsl:element name="Author">
<xsl:value-of select="author/first-name"/>
<xsl:text> </xsl:text>
<xsl:value-of select="author/last-name"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/xml";
string xsltFile = Path.Combine(Request.PhysicalApplicationPath, "Data.xslt"); string xmlFile =
Path.Combine(Request.PhysicalApplicationPath, "Data.xml");
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(xsltFile);
Page 8 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Windows-based authentication:
It causes the browser to display a login dialog box when the user attempts to access restricted page.
It is supported by most browsers.
It is configured through the IIS management console.
It uses windows user accounts and directory rights to grant access to restricted pages.
Forms-based authentication:
Developer codes a login form that gets the user name and password.
The username and password entered by user are encrypted if the login page uses a
secure connection.
It doesn’t reply on windows user account.
ASP.NET impersonation is used to control the execution of the code in authenticated and
authorized client. It is not a default process in the ASP.NET application. It is used for
executing the local thread in an application. If the code changes the thread, the new thread
executes the process identity by default.
The impersonation can be enabled in two ways as mentioned below:
Impersonation enabled: ASP.NET impersonates the token passed to it by IIS, can be an
authenticated user or an internet user account. The syntax for enabling is as shown below:
<identity impersonate=”true” />
Impersonation enabled for a specific identity: ASP.NET impersonates the token generated
using the identity specified in the Web.config file.
<identity impersonate=”true”
userName=”domain\user”
password=”password” />
Impersonation disabled: It is the default setting for the ASP.NET application. The process
identity of the application worker process is the ASP.NET account.
<identity impersonate=”false” />
Page 9 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Page 10 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
(Role-based security is an optional higher-level feature we can use with forms authentication.
Page 11 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Q. What are the benefits using Ajax? Explain UpdatePanel and ScriptManager.
The major benefit of Ajax is partial page rendering. The partial update of a page does not
necessitate full reload of the page and hence leads to flicker-free page rendering.
UpdatePanel
We can refresh the selected part of the web page by using UpdatePanel control, Ajax
UpdatePanel control contains a two child tags that is ContentTemplate and Triggers. In a
ContentTemplate tag we used to place the user controls and the Trigger tag allows us to define
certain triggers which will make the panel update its content.
<asp:UpdatePanel ID="updatepnl" runat="server">
<ContentTemplate>
All the contents that must be updated asynchronously (only ContentTemplate parts are
updated and rest of the web page part is untouched) are placed here. It allows us to send
request or post
data to server without submit the whole page so that is called asynchronous.
UpdatePanel is a container control. A page can have multiple update panels.
The UpdatePanel control enables you to create a flicker free page by providing partial-
page update support to it.
Page 12 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
ScriptManager
The ScripManager Control manages the partial page updates for UpdatPanel controls that
are on the ASP.NET web page or inside a user control on the web page.
This control manages the client script for AJAX-enabled ASP.NET web page and
ScripManager control support the feature as partial-page rendering and web-service calls.
The ScriptManager control manages client script for AJAX-enabled ASP.NET Web pages.
Although this control is not visible at runtime, it is one of the most important controls for
an Ajax enabled web page.
There can be only one ScriptManager in an Ajax enabled web page.
Example:
In the example below, we use the same .gif to display progress while the UpdatePanel is
updating its content. For understanding purposes, we have emulated a time-consuming operation
by setting a delay of 3 seconds by using Thread.Sleep(3000) on the button click.
Page 13 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
</ProgressTemplate>
</asp:UpdateProgress>
Page 14 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Page 15 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Page 16 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
1. Go to File, New, then Website and Create an Empty Website. Add a webform (Default.aspx)
in it.
2. Add ScriptManager from AJAX Extensions (from v15.1 of AJAX
Control Toolkit, ToolScriptManager is removed. Use Standard Script
Manager).
AccordionPane contains two parts i.e. Header and Content. When AccordionPane is
collapsed, only Header part is visible to us.
Page 17 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Example:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
</asp:ScriptManager>
<asp:AutoCompleteExtender ServiceMethod="GetSearch" MinimumPrefixLength="1"
CompletionInterval="10" EnableCaching="false" CompletionSetCount="10"
TargetControlID="TextBox1" ID="AutoCompleteExtender1" runat="server"
FirstRowSelected="false">
</asp:AutoCompleteExtender>
<asp:Label ID="Label1" runat="server" Text="Search Name"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Source Code:
[System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod]
public static List<string> GetSearch(string prefixText)
{
SqlConnection con = new SqlConnection("connectionString"); //Create a Sql connection
SqlDataAdapter da;
DataTable dt;
DataTable Result = new DataTable();
string str = "select nvName from Friend where nvName like '" + prefixText + "%'";
da = new SqlDataAdapter(str, con);
dt = new DataTable();
da.Fill(dt);
List<string> Output = new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
Page 18 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622
TRAINING -> CERTIFICATION -> PLACEMENT BSC IT : SEM – V AWP:UNIT5
Output.Add(dt.Rows[i][0].ToString());
return Output;
}
Page 19 of 19
YouTube - Abhay More | Telegram - abhay_more
607A, 6th floor, Ecstasy business park, city of joy, JSD road, mulund (W) | 8591065589/022-25600622