Clear        


                
                    @*  
    Model object type declaration according to the type 
    returned by the action (View1). 
*@
@model string

@* 
    This is a Razor comment.
    Razor syntax provides the usage of HTML and C# together 
    in views.  
  
    In order to switch to C# in HTML, @ is used.  
   
    C# code blocks can be written in @{ ... }, for example  
    @{  
        var name = "Cagil Alsac";  
    }  
    and the value of the name variable can be printed in 
    HTML like  
    <h1>@name</h1>  
  
    Other C# code blocks such as if, foreach, etc. can be 
    written like  
    @if (true)  
    {  
        <label>Success.</label>  
    }  
    else  
    {  
        <label>Error!</label>  
    }  
  
    @foreach (string item in list)  
    {  
        <p>@item</p>  
    }  
*@

<p>
    @* 
        Model object of type string to print the assigned and 
        returned value in the action (View1). 
    *@
    @Model
</p>

@*
    ViewData and ViewBag are the same collection (dictionary).
    They carry extra data other than the model object from a 
    controller action to its view, or between views.
    ViewData["Text"] can also be used instead of ViewBag.Text.
*@
@if (ViewBag.Text is not null) // If Text key of the ViewData 
                               // dictionary has a value, print 
                               // the value in HTML.
{
    <hr />
    <p>@ViewBag.Text</p>
}

@*  
    TempData carries data from an action to the redirected action, 
    therefore to the redirected action's view. 
*@
@if (TempData["Message"] is not null) // If Message key of the 
                                      // TempData dictionary has 
                                      // a value, print the value 
                                      // in HTML.
{
    <hr />
    <p>@TempData["Message"]</p>
}