सबसे पहले ये मॉडल वर्ग हैं:

public class Student
{
    public int ID;
    public string Name;
    public string RollNo;
    public string Branch;
    public string Course;
    public string Year;
}

public class StudentData
{
    public IEnumerable<Student> Data()
    {
        List<Student> StudentsList = new List<Student>();

        Student[] SArr = new Student[4];
        SArr[0].ID = 1;
        SArr[0].Name = "Narender";
        SArr[0].RollNo = "0177EC161067";
        SArr[0].Branch = "EC";
        SArr[0].Course = "B.E";
        SArr[0].Year = "IV";

        StudentsList.Add(SArr[0]);

        SArr[1].ID = 2;
        SArr[1].Name = "Sandeep";
        SArr[1].RollNo = "0177CS161001";
        SArr[1].Branch = "CSE";
        SArr[1].Course = "B.E";
        SArr[1].Year = "IV";

        StudentsList.Add(SArr[1]);
        return StudentsList;
    }
}

और यह नियंत्रक है:

public class MainController : Controller
{
    public ActionResult Index()
    {
        StudentData students = new StudentData();
        IEnumerable<Student> s = students.Data();

        return View(s.ToList());
    }
}

दृश्य यह है:

@model IEnumerable<FirstApp.Models.Student>
<table width="400">
<th>ID</th>
<th>Name</th>
<th>Roll Number</th>
<th>Branch</th>
<th>Course</th>
<th>Year</th>
@foreach (var s in Model)
    {
        <tr>
            <td>@s.ID</td>
            <td>@s.Name</td>
            <td>@s.RollNo</td>
            <td>@s.Branch</td>
            <td>@s.Course</td>
            <td>@s.Year</td>
        </tr>``
    }
</table>

मुझे एक त्रुटि मिलती है:

वस्तु का संदर्भ वस्तु की आवृत्ति अनुसार सेट नहीं। है।

विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक हैंडल न किया गया अपवाद उत्पन्न हुआ। त्रुटि के बारे में और कोड में इसकी उत्पत्ति कहां से हुई, इसके बारे में अधिक जानकारी के लिए कृपया स्टैक ट्रेस की समीक्षा करें।

अपवाद विवरण: System.NullReferenceException: ऑब्जेक्ट संदर्भ किसी ऑब्जेक्ट की आवृत्ति पर सेट नहीं है।

स्रोत त्रुटि:

पंक्ति 26: एसएआर [0]। आईडी = 1;

0
Narendra Choudhary 8 मई 2020, 17:56
1
"ऑब्जेक्ट रेफरेंस किसी ऑब्जेक्ट के इंस्टेंस पर सेट नहीं है" का हमेशा एक ही कारण होता है: आपने ऑब्जेक्ट वैरिएबल को डिरेल करने का प्रयास किया है जो शून्य पर सेट है। वह करें जो यह सुझाव देता है: अपने स्टैक ट्रेस की समीक्षा करें।
 – 
Robert Harvey
8 मई 2020, 17:58
उस लाइन पर ब्रेकपॉइंट लगाएं जहां आप दृश्य लौटाते हैं, और उन मानों की जांच करें जिन्हें आप s में पास कर रहे हैं।
 – 
Neil
8 मई 2020, 18:01
1
आप यहां एक सरणी और एक सूची का उपयोग क्यों कर रहे हैं?
 – 
Robert Harvey
8 मई 2020, 18:01
मैंने इसे किया है लेकिन "System.NullReferenceException" के पीछे के कारण को समझने में असमर्थ हूं। आप कोड में क्या बदलाव सुझाते हैं?
 – 
Narendra Choudhary
8 मई 2020, 18:12
मैं यहां एक सरणी और एक सूची का उपयोग कर रहा हूं क्योंकि इससे पहले मैं सिर्फ एक छात्र वस्तु को प्रारंभ कर रहा था और उस समय उन्हें एक-एक करके जोड़ रहा था, केवल अंतिम छात्र विवरण दिखा रहा था कि फ़ोरैच ब्लॉक निष्पादित होने की संख्या कितनी है।
 – 
Narendra Choudhary
8 मई 2020, 18:15

2 जवाब

यहाँ अद्यतन दृश्य है

@using FirstApp.Models
@model IEnumerable<Student>
<table width="400">
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Roll Number</th>
        <th>Branch</th>
        <th>Course</th>
        <th>Year</th>
    </tr>
    @foreach (var s in Model)
    {
        <tr>
            <td>@s.ID</td>
            <td>@s.Name</td>
            <td>@s.RollNo</td>
            <td>@s.Branch</td>
            <td>@s.Course</td>
            <td>@s.Year</td>
        </tr>
    }
</table>

अद्यतन मॉडल होंगे:

public class Student
    {
        public int ID;
        public string Name;
        public string RollNo;
        public string Branch;
        public string Course;
        public string Year;
    }

    public class StudentData
    {
        public IEnumerable<Student> Data()
        {
            return new List<Student>{
                new Student{
                ID = 1,
                Name = "Narender",
                RollNo = "0177EC161067",
                Branch = "EC",
                Course = "B.E",
                Year = "IV"
                },
                new Student{
                    ID = 2,Name = "Sandeep",
                    RollNo = "0177CS161001",
                    Branch = "CSE",
                    Course = "B.E",
                    Year = "IV"
                }
            };
        }
    }
0
Bhasyakarulu Kottakota 8 मई 2020, 18:10
क्या आप मुझे एक विचार दे सकते हैं, जहाँ से मैं ये बातें सीख सकता हूँ? दरअसल, मैं C#.NET और ASP.NET में नौसिखिया हूं। मैंने जो कुछ भी सीखा है उसे लागू करने की कोशिश कर रहा था।
 – 
Narendra Choudhary
8 मई 2020, 18:24
Microsoft डॉक्स की जाँच करें, यह सबसे पूर्ण दस्तावेज़ीकरण साइटों में से एक है जिसे मैं जानता हूँ। इस तरह के मामलों के लिए, शायद आप यहां
 – 
wserr
8 मई 2020, 18:29
आपको ये सभी विवरण docs.microsoft.com/en-us/dotnet/csharp पर मिल सकते हैं। अगर यह समाधान काम करता है, तो कृपया इसे उत्तर के रूप में चिह्नित करें! धन्यवाद।
 – 
Bhasyakarulu Kottakota
8 मई 2020, 18:37

एक ऐरे और एक सूची का प्रयोग न करें।

अपने मॉडल वर्ग को इस प्रकार अपडेट करें:

using System;
using System.Collections.Generic;
namespace FirstApp.Models
{
public class Student
{
    public int ID;
    public string Name;
    public string RollNo;
    public string Branch;
    public string Course;
    public string Year;
}
public class StudentData
{
    public IEnumerable<Student> Data()
    {
        var StudentsList = new List<Student>()
        {
           new Student(){
            ID = 1,
            Name = "Narender",
            RollNo = "0177EC161067",
            Branch = "EC",
            Course = "B.E",
            Year = "IV"
           },
           new Student(){
            ID = 2,
            Name = "Sandeep",
            RollNo = "0177CS161001",
            Branch = "CSE",
            Course = "B.E",
            Year = "IV"
           }
        };
        return StudentsList;
    }
}
}
0
Nolan Bradshaw 8 मई 2020, 18:19
1
ठीक है और बहुत बहुत धन्यवाद।
 – 
Narendra Choudhary
8 मई 2020, 18:30