5
मैं अपने नियंत्रक में नेस्टेड गुणों को शामिल या बहिष्कृत कैसे कर सकता हूं?BindAttribute, जटिल प्रकारों के लिए नेस्टेड गुणों को छोड़ दें
मैं एक 'स्ट्रीम' मॉडल है:
public class StreamCreateVM
{
public Stream Stream { get; set; }
public SelectList ServicesList { get; set; }
public int SelectedService { get; set; }
}
:
public class Stream
{
public int ID { get; set; }
[Required]
[StringLength(50, ErrorMessage = "Stream name cannot be longer than 50 characters.")]
public string Name { get; set; }
[Required]
[DataType(DataType.Url)]
public string URL { get; set; }
[Required]
[Display(Name="Service")]
public int ServiceID { get; set; }
public virtual Service Service { get; set; }
public virtual ICollection<Event> Events { get; set; }
public virtual ICollection<Monitor> Monitors { get; set; }
public virtual ICollection<AlertRule> AlertRules { get; set; }
}
इस मॉडल के लिए 'बनाने' देखने के लिए, मैं देखने के लिए कुछ अतिरिक्त जानकारी पारित करने के लिए एक दृश्य के मॉडल बना दिया है
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include="Stream, Stream.Name, Stream.ServiceID, SelectedService")] StreamCreateVM viewModel)
{
if (ModelState.IsValid)
{
db.Streams.Add(viewModel.Stream);
db.SaveChanges();
return RedirectToAction("Index", "Service", new { id = viewModel.Stream.ServiceID });
}
return View(viewModel);
}
अब, यह सब काम करता है, के अलावासे:
यहाँ मेरी बनाने के बाद कार्रवाई हैबिट मैं एक नेस्टेड ऑब्जेक्ट के भीतर गुणों को शामिल या बहिष्कृत नहीं कर सकता।
धन्यवाद, लेकिन मैं नियंत्रक में अन्य कार्यों विभिन्न गुणों के प्रति आबद्ध करने की जरूरत है कि है, इसलिए यह सुझाव उसको रोक देगा। –