I've been working on a Asp.net/umbraco 7.12 project. However when im logged in aa a member and I try to manipulate the first entity in an Icollection that's in my model entity, it always gives me an exception for invalid EncryptedTicket value. Even though it works fine on all other entities. I've tried clearing cookies and check if it was a problem with specific entities but neither seems to be the problem. My assumption is that something is prohibiting me from making the relation between these two entities completely null, unfortunately I don't have the experience to tell what. If anyone got any leads that'd be super helpful.
Model:
[Table("Vestigingen")]
public class Vestiging :I_modified
{
[Display(Name = "Vestiging naam" )]
public string Naam { get; set; }
[Display(Name = "Adres")]
public string Adres { get; set; }
[Display(Name = "Vestiging ID")]
public int ID { get; set; }
[Display(Name = "Datum aangemaakt")]
public DateTime Created { get; set; }
[Display(Name = "Datum aangepast")]
public DateTime Modified { get; set; }
[Display(Name = "Aangemaakt door")]
public string CreatedBy { get; set; }
[Display(Name = "Aangepast door")]
public string ModiFiedBy { get; set; }
[Display(Name = "Status")]
public Status Status { get; set; }
public virtual ICollection<MemberMedewerker> Medewerkers { get; set; }
public virtual ICollection<MemberLeerling> Leerlingen { get; set; }
}
View:
<br />
<div class="form-row">
<div class="col-sm-3">
<h4>Medewerkers gekoppeld aan vestiging</h4>
<table class="table table-sm dataTable no-footer" role="grid">
<tbody>
@foreach (var medewerker in Model.Medewerkers)
{
if (medewerker.Status == Status.Active)
{
<tr id="">
<td class="clickable-row" role="row" data-url="/HR/medewerkeraanpassen/?memberId=@medewerker.ID">@medewerker.Naam</td>
@using (Html.BeginUmbracoForm<HRController>("MedewerkerOntKopellenVanVestiging", null))
{
<td>
<input name="vestigingId" class="form-control" id="" type="text" value="@Model.ID" hidden />
<input name="memberId" class="form-control" id="" type="text" value="@medewerker.ID" hidden />
<button class="btn btn-primary" type="submit">Ontkoppelen</button>
</td>
}
</tr>
}
}
</tbody>
</table>
</div>
ControllerHelper:
public void MedewerkerOntKopellenVanVestiging(int vestigingId, int memberId)
{
using (dalcontext)
{
var medewerker = dalcontext.MemberMedewerkers.FirstOrDefault(x => x.ID == memberId);
var vestiging = dalcontext.Vestigingen.FirstOrDefault(x => x.ID == vestigingId);
vestiging.Medewerkers.Remove(medewerker);
dalcontext.SaveChanges();
}
}
Example of it going right by removing the 2nd entity from the ICollection
I solved it with the help of using Fiddler, the wrong data was getting posted when the list got empty in the view. So i solved it by seperating my forms. Hope it helps anyone else that gets this exception.