Неверный недействительный encryptedTicket при смене сущностей - PullRequest
0 голосов
/ 13 ноября 2018

Я работал над проектом Asp.net/umbraco 7.12.Однако, когда я вошел в систему как член, и я пытаюсь манипулировать первой сущностью в коллекции, которая находится в моей сущности модели, это всегда дает мне исключение для недопустимого значения EncryptedTicket.Хотя он отлично работает на всех других объектах.Я попытался очистить куки и проверить, была ли это проблема с определенными объектами, но ни одна из них не является проблемой.Я предполагаю, что что-то мешает мне сделать отношения между этими двумя объектами полностью нулевыми, к сожалению, у меня нет опыта, чтобы сказать, что.Если бы у кого-то были какие-либо выводы, это было бы очень полезно.

Модель:

[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; }
}

Вид:

 <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();
        }


    }

«Онткоппелен» обычно попадает в контроллерудалить объект из коллекции ICollection, кроме случаев, когда я нажимаю «Онткоппелен» на самом первом объекте

Сведения об исключении

Примеридем направо, удалив 2-ю сущность из коллекции ICollection

1 Ответ

0 голосов
/ 16 ноября 2018

Я решил это с помощью Fiddler, неправильные данные публиковались, когда список становился пустым в представлении. Так что я решил это, разделив мои формы. Надеюсь, это поможет кому-нибудь еще, кто получит это исключение.

...