Új hozzászólás Aktív témák
-
ubid
senior tag
Sziasztok!
Ismét egy kis segítséget szeretnék kérni = ) Kicsit bonyolultabb elmagyarázni, de remélem megértitek mi a problémám, és tudtok segíteni is !
Előre is köszönöm !Tehát :
Egy asp.net mvc3 webalkalmazás darabját készítem jelenleg. A feladat : Események létrehozása, majd miután létrehoztuk az eseményeket visszadob egy lapra, ahol az események listája látszik. minden eseményhez van egy link, ami tulajdonképpen a details- lapja, viszont ott alatta lehet kommentelni az adott eseményt. ( természetesen mindent adatbázisba mentünk le az eseményeket az események táblába, a kommenteket a komment táblába, viszont kapcsolat nem lehet közöttük, mert az alkalmazás során máshova is kell majd kommentelni )
Ezt , hogy oda varázsolja a komment felületet egy a details view-ba varázsolt RenderAction-el oldottam meg.
így : @{Html.RenderAction("CommentCreate", "Comment");}Mivel a details lapon van a kommentelő felület ( ide listázza ki, és alatta van egy form is, ahol beírható a komment és küldhető ) ezért nyilván ide is postol vissza, ezért ennek a controllerébe ( jelen esetben ez az event controller ) írtam a details-hoz egy HTTP-s actionresult-ot, aminél kezdődik a gond.
Az a problémám, hogy valamiért az event ID-jét egyből belenyomja nekem kérés nélkül a komment ID-jába, amitől nyilván több kommentet nem is vihetek fel, mert ütközés van.
( a kommentnek van egy TARGETID-ja ami nem egyedi, én ebbe szeretném, hogy megjelenjen az adott esemény ID-ja abból a célból, hogy minden esményhez csak a hozzá tartozó kommenteket listázza ki )A kód így néz ki : public ViewResult Details(int id,Comment newComment)
ebben ugye azért írtam be az ID-t mert szeretném , hogy a TARGETID-ba majd ez bekerüljön ( ez így rendben is van szerintem, mert az URL-be már úgyis benne van az esmeényünk ID-ja , ezáltal bele is tudom rakni a TARGETID-ba.
Viszont a sima ID ( aminek csak akkor kéne értéket kapnia amikor mentődik az adatbázisba, mivel ott számolódik ki (PK) )a kód további része így néz ki :
{
newComment.Added = DateTime.Now;
MembershipUser currentUser = Membership.GetUser();
Guid userId = new Guid(currentUser.ProviderUserKey.ToString());
newComment.UserID = userId;
newComment.TargetID = id;
db.Comments.AddObject(newComment);
db.SaveChanges();
return View();
}Mutatok egy képet is, hogy lássátok miről beszélek :

Tehát látható, hogy még a db save-ig el se jutott, de már ott felvette azt az ID-t ami nem is az övé lénne.
A partial-view-nak pedig így néz ki az érdemi része :
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.TargetID)
</td>
<td>
@Html.DisplayFor(modelItem => item.TargetType)
</td>
<td>
@Html.DisplayFor(modelItem => item.Text)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Added)
</td>
<td>
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
@using (Html.BeginForm())
{
<textarea rows="5" cols="30" id="text" name="text"></textarea>
<input type="submit" value="Küldés" />
}Aki tud segítsen , hogy miért lehet ez.
Előre is köszönöm!
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Path of Exile (ARPG)
- Fejhallgató erősítő és DAC topik
- Arc Raiders
- Tápos kibeszélő offtopik
- Építő/felújító topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 17 Ultra - jó az optikája
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Több fény kell, hogy a OnePlus 15T vonzóbb legyen
- Kezünkben a OnePlus 15 és az Oppo Find X9-ek
- További aktív témák...
- BESZÁMÍTÁS! Asus ROG Strix B450F R5 5600 32GB DDR4 512GB SSD RTX 2070 Super 8GB Zalman S2 TG TT 650W
- Xbox One S All Digital 1 TB + kontroller 6 hó garancia, számlával!
- iPhone 14 Pro Max 128GB Eladó
- Mushkin 2x16GB DDR4 3200MHz - Új, bontatlan - Eladó!
- Apple iPhone 14 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple MacBook Pro 14 (2021) 16GB/512GB használt, szép állapot 100% akku , 8 ciklus
- Garmin USB ANT Stick jeladó eladó
- magyar billentyűzet - 151 - Lenovo LOQ (15IAX9) - Intel Core i5-12450HX, RTX 4060 (ELKELT)
- Azonnali készpénzes AMD Radeon RX 7000 sorozat videokártya felvásárlás személyesen/csomagküldéssel
- GEN5!!! 14/12GB/s 1TB Gen5x4 NVMe SSD, 1 év gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
