Saturday, September 14, 2019

ASP.NET MVC டேட்டாவை மாடலில் இருந்து கன்ட் ரோலர் மூலம் வியூவிற்கு பாஸ் செய்தல்


ASP.NET-ல் டேட்டாவை கன்ட் ரோலர் மூலம் டேட்டாவை வெவ்வேறு வழிகளில் பாஸ் செய்யலாம்,.
1.       ViewBag பயன்படுத்தி
2.       ViewData பயன்படுத்தி
3.       மாடல் கிளாஸின் ஆப்ஜெக்டை பயன்படுத்தி
4.       டெம்ப்டேட்டா பயன்படுத்தி

முதலில் ஒரு ASP.NET MVC பயன்பாடு ஒன்றை உருவாக்கவும்.  பெயராக PassData என்பதை கொடுக்கவும்.

இதில் Empty template என்பதை செலக்ட் செய்து கொள்ளவும்.
Solutions என்பதில் இருக்கும் Models என்பதை வலது கிளிக் செய்து add new என்பதில் ஒரு கிளாஸ் ஒன்றை உருவாக்கவும்.
அதற்கொரு பெயர் கொடுக்கவும்.
கிளாஸ் பின் வருமாறு மாதிரிக்கு கொடுப்போம்.
  1. public class Student  
  2.     {  
  3.         public int Id { getset; }  
  4.         public string  StudentName { getset; }  
  5.         public string  Course { getset; }  
  6.          
  7.     }  
கண்ட் ரோலை வலது கிளிக் செய்து புதிய கன்ட் ரோலரை உருவாக்கவும்.
இதில் empty controller என்பதை தேர்ந்த்டுக்கவும்.
கண்ட் ரோலருக்கு ஒரு பெயர் கொடுக்கவும்.
கண்ட் ரோலர் தயார் ஆகி விட்டது.
ViewBag :
இப்பொழுது கண்ட் ரோலரின் index என்பதில் student  கிளாஸிற்,க்கு ஒரு
ஆப்ஜெக்ட் உருவாக்கலாம். பிறகு அதை ViewBag  ஆப்ஜெக்ட்டுக்கு மதிப்பிருத்தவும்
  1. public ActionResult Index()  
  2.         {  
  3.             Student stu = new Student  
  4.             {  
  5.                 Id = 101,  
  6.                 StudentName = "Karthikeyan",  
  7.                 Course = "ASP.NET"  
  8.             };  
  9.             ViewBag.Message = stu;  
  10.             return View();  
  11.         }   


Index மெத்தடை வலது கிளிக் செய்து ஒரு புதிய view ஒன்றை உருவாக்கவும்.
இப்பொழுது முதலில் பின் வருமாறு மொடலை இம்போர்ட் செய்து கொள்ளவும்.
@using PassData.Models  
பிறகு பின் வருமாறு வியூவிற்கான வரிகளை டைப் செய்யவும்.
  1. @{  
  2.     ViewBag.Title = "Index";  
  3. }  
  4.   
  5. <h3>Passing Data From Controller to View using ViewBag</h3>  
  6. @{   
  7.     var data = ViewBag.Message;  
  8. }  
  9. <h3>Id: @data.Id</h3>  
  10. <h3>StudentName: @data.StudentName</h3>  
  11. <h3>course: @data.Course</h3>   
இப்பொழுது நிரலை இயக்கவும்.
ViewData:
இது dictionary type முறையில் அதாவது key/value pair ஆக டேட்டாவை ஸ்டோர் செய்கின்றது,
  1. public ActionResult Index()  
  2.         {  
  3.             Student stu = new Student  
  4.             {  
  5.                 Id = 101,  
  6.                 StudentName = "Karthikeyan",  
  7.                 Course = "ASP.NET"  
  8.             };  
  9.             ViewData["Message"] = stu;  
  10.             return View();  
  11.         }  
இப்பொழுது view கோடிங்க்  பின் வருமாறு இருக்கலாம்.
  1. @using PassData.Models  
  2. @{  
  3.     ViewBag.Title = "Index";  
  4. }  
  5. <h3>Passing Data From Controller To View using ViewData</h3>  
  6. @{  
  7.     var data = (Student)ViewData["Message"];  
  8. }  
  9. <h3>Id: @data.Id</h3>  
  10. <h3>StudentName: @data.StudentName</h3>  
  11. <h3>Course: @data.Course</h3> 
இப்பொழுது நிரலை சேவ் செய்து ரன் செய்யவும். நீங்கள்  எதிர் பார்த்த ரிசல்ட் கிடைக்கும்,.
ஆப்ஜெக்ட் மூலம் டேட்டா  பாஸ் செய்தல்.
  1. public ActionResult Index()  
  2.        {  
  1.        Student stu = new Student  
  2.             {  
  3.                 Id = 101,  
  4.                 StudentName = "Karthikeyan",  
  5.                 Course = "ASP.NET"  
  6.             };  
  1.  
  2.            return View(stu);  
  3.        }   

View-வில் மேலே இந்த மாடலை இம்போர்ட் செய்து அதன் பண்புகளை @Model என்பதன் மூலம் ஆக்சஸ் செய்யவும்.
  1. @using PassData.Models  
  2. @model PassData.Models.Student 
  3. @{  
  4.     ViewBag.Title = "Index";  
  5. }  
  6. <h3>Passing Data From Controller To View using Model Class Object</h3>  
  7.   
  8. <h3>Id: @Model.Id</h3>  
  9. <h3>StudentName: @Model.StudentName</h3>  
  10. <h3>Course: @Model.Course</h3>  
பிறகு சேவ் செய்து ரன் செய்யவும். நீங்கள் எதிர்பார்த்த வெளியீடு கிடைக்கும்.
கடைசியாக TempData.
இது தாற்காலிகமாக டேட்டாவை சேமிக்க நல்லது.இது ஒரு ஆக்சன் மெத்தடில் இருந்து மற்றொரு ஆக்சன் மெத்தடிற்கு டேட்டாவை பாஸ் செய்ய பயன்படுகின்றது.
  1. public ActionResult CheckTempData()  
  2.         {  
  3.             TempData["data"] = "I'm temprory data to used in subsequent request";  
  4.             return RedirectToAction("Index");  
  5.         }   
டெம்ப்டேட்டாவை index.chtml ல் பின் வருமாறு  ஆக்சஸ் செய்யலாம்.
  1. <h3>Hey! @TempData["data"]</h3>  

நன்றி.
முத்து கார்த்திகேயன்,மதுரை.


ads Udanz

No comments:

Post a Comment