Diskuze: ASP.NET MVC přidání komentáře k specifickému článku
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
ještě jsem zapomněl (a editovat už nemůžu), při přidání novýho komentáře mi zmizí status, který je zobrazen nad ním. Tak nějak tuším, že v controlleru v akci na vytvoření komentáře bych měl do return view(); něco vložit, ale nenapadá mě jak to teď udělat aby mi vrátil view z té první akce (public ActionResult Comments(int? id))
Model Post by mel mit list komentaru, ne? Proste, pokud budes pridavat k clanku komentar, tak k tomu clanku pridej id komentare. Navic vidim, ze vybirad vsechny komentare v metode "public PartialViewResult _PartialComments()" coz asi delat nechces, co?
var newComments = db.Comments.OrderByDescending(c => c.Comm_ID);
tohle bylo zamýšlený jako zobrazení všech komentářů ke statusu (abych
alespon viděl, že to funguje) a následně jsem chtěl řešit, aby se u
danýho statusu zobrazovali jen komentáře k němu související.
takže do modelu Post bych dal něco jako
iCollection<Comments> comments {get; set;} ?
jakej kód by potom v controlleru přiřadil ke každýmu komentáři ID
statusu, ke kterýmu patří?
btw: můj druhej komentář ohledně mizení statusu po přidání
komentáře vyřešil
return RedirectToAction("Comments");
už jsem to zkoušel dřív, ale zapomněl jsem na uvozovky a divil se, proč mi
to hlásí error..
Takze kdyz vytvaris komentar, dany koment prijme jako parametr ActionResult metoda, ty si nactes konkretni post dle jeho id a do listu komentaru priradis onen komentar.
takže do modelu Post bych dal něco jako
iCollection<Comments> comments {get; set;} ?
Ano
a jak by prosím vypadal kód na přiřazení toho komentáře k danýmu postu?
neco jako:
var danyPost = db.Posts.Where(p => p.Id == id).FirstOrDefault();
danyPost.Komentare.Add(prichoziKomentar);
proste to priradis do kolekce...
Zaloz nove vlakno pro tu vyjimku. Lepe se to pak bude hledat i druhym se stejnym problemem.
Zobrazeno 9 zpráv z 9.