Java, .NET, PHP, PYTHON, ANGULAR, ML, Data Science, Testing, CI Tutorials in Easy Languages.

"Best Software Training, Internship, Project Development center of Indore India, Helpline 780506-3968"

 ASP.NET MVC  Provide Three Different Types of Objects to Store data and send it into View.

1)  ViewData:-   

It is used to store data using key=>value pair, the key is used to provide identity, and data is used to store value.

ViewData["Key"]=value


It Stores data in an Object pattern and its scope will be the same controller to view (same request).

After Redirection Value will be null of ViewData Object.


2)  ViewBag:-   

It is used to store data in an Object pattern, Its scope will be the same controller to the same view similar to ViewData but it is used to manage data type of assigned data implicit.

ViewBag.a=10  //Int   
 

3) TempData:-   

It is used to store data in an Object pattern, Its scope will be the same controller to a different view means it will work on cross request, After Redirection, we can store data under TempData Object.


TempData["key"]=value 

TempData["a"]=100;  //Object pattern

TempData does not manage data type, it stores all data in Object pattern.

TempData.keep()  is used to store data permanently

TempData.Remove("key") is used to remove data 

Practical Implementation of ViewBag, ViewData, and TempData:-


Create a Controller with the Get method




using System;
using System.Collections.Generic;
using System. Linq;
using System. Web;
using System.Web.Mvc;

namespace BasicMVCExample.Controllers
{
    public class ObjectDataController : Controller
    {
        //
        // GET: /ObjectData/

        public ActionResult Index()
        {
            ViewData["key1"] = 10;
            ViewBag.key = 111;
            TempData["key"] = 23;
           // return View();
            return RedirectToAction("Method2");
        }

        public ActionResult Method2() {
            TempData.Keep();
           // TempData.Remove("key");

            return View();
     
        }

    }
}



Create View for method2.cshtml

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Method2</title>
</head>
<body>
    <div>
       @ViewData["key1"] 
       @ViewBag.key
       @TempData["key"]
    </div>
</body>
</html>



public class TestObjectController : Controller
    {
        //
        // GET: /TestObject/

        public ActionResult Index()
        {
            ViewBag.a = 10;
            ViewData["rno"] = 1001;
            TempData["b"] = 101;
            TempData.Keep();
           
            return View();
        }
        public ActionResult Second()
        {
           // TempData.Remove("b");
            return View();
        }
    }


index.html:-

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@{
    int b = ViewBag.a + 1;
}
value of b = @b

@{
    
    int c = int.Parse(ViewData["rno"].ToString()) + 1;
}
value of c = @c
@{
    int d = int.Parse(TempData["b"].ToString()) + 1;
    
}

value of d = @d

public class TestObjectController : Controller
    {
        //
        // GET: /TestObject/

        public ActionResult Index()
        {
            ViewBag.a = 10;
            ViewData["rno"] = 1001;
            TempData["b"] = 101;
            TempData.Keep();
            return RedirectToAction("Second");
           
        }
        public ActionResult Second()
        {
           // TempData.Remove("b");
            return View();
        }
    }


second.cshtml:-


<h2>Index</h2>

@{
    //int b = ViewBag.a + 1;
}

@{
    
   // int c = int.Parse(ViewData["rno"].ToString()) + 1;
}

@{
    int d = int.Parse(TempData["b"].ToString()) + 1;
    
}

value of d = @d












Post a Comment

If you have any doubt in programming or join online classes then you can contact us by comment .

Previous Post Next Post