मुझे नियंत्रक में किसी फ़ंक्शन में डेटा मॉडल ऑब्जेक्ट पास करने में समस्या है। मेरा विचार इस तरह दिखता है:
@model StudentsScraper.Models.Student
<tr>
<td>@Html.RouteLink("Edytuj", new { controller = "Admin", action = "Edit", st = Model}) </td>
<th>
@if (File.Exists(string.Format("~/Upload/Data/{0}.jpg", @Model.StudentIndex)))
{
<img src="@string.Format("~/Upload/Data/{0}.jpg", @Model.StudentIndex)" class="rounded float-left" alt="@Model.StudentIndex" />
}
else
{
@Model.StudentIndex
}
</th>
<td>@Model.Name</td>
<td>@Model.Surname</td>
<td>@Model.Gradute</td>
<td>@Model.Degree</td>
<td>@Model.EmailUniversity</td>
<td>@Model.PersonalEmail</td>
<td>@Model.DateOfBirth</td>
<td>@Model.Phone</td>
<td>@Model.University</td>
<td>@Model.DepartmentName</td>
<td>@Model.YearOfUniversityEntrance</td>
</tr>
नियंत्रक में मेरा कार्य इस तरह दिखता है:
public ActionResult Edit(Student st)
{
return View("EditDaneView", st);
}
प्रारंभ करने के बाद, फ़ंक्शन पैरामीटर में केवल खाली वस्तु दिखाई देती है। तो मेरा सवाल यह है कि मॉडल को नियंत्रक में कार्य करने के लिए कैसे पास किया जाए?
1 उत्तर
लिंक में छात्र की आईडी शामिल करें:
<td>@Html.RouteLink("Edytuj", new { controller = "Admin", action = "Edit", id = Model.StudentIndex }) </td>
आपको एक और दृश्य Edit.cshtml
बनाने की भी आवश्यकता है जो कि वास्तविक संपादन फ़ॉर्म होगा जिसकी ओर RouteLink
इंगित कर रहा है:
संपादित करें.सीएसएचएमएल:
@model StudentsScraper.Models.Student
@using (Html.BeginForm())
{
@Html.HiddenFor(m => m.StudentIndex) // send the id of the edited user back in a hidden field
@Html.TextBoxFor(m => m.Name)
@Html.TextBoxFor(m => m.Surname)
[... other fields]
}
कृपया ध्यान दें, दृश्य का नाम Edit.cshtml
नियंत्रक Edit
में कार्रवाई के नाम से मेल खाता है। इसके अलावा आप Edit
विधि को HttpPost
विशेषता से सजा सकते हैं:
[HttpPost]
public ActionResult Edit(Student st)
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।