asp.net - 更改实体时不规则的无效 encryptedTicket
问题描述
我一直在做一个 Asp.net/umbraco 7.12 项目。但是,当我以成员身份登录并尝试操作模型实体中的 Icollection 中的第一个实体时,它总是给我一个无效 EncryptedTicket 值的异常。即使它在所有其他实体上都可以正常工作。我尝试清除 cookie 并检查是否是特定实体的问题,但似乎都不是问题。我的假设是某些东西阻止我使这两个实体之间的关系完全无效,不幸的是我没有经验告诉我什么。如果有人得到任何线索,那将非常有帮助。
模型:
[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>
控制器助手:
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();
}
}
“Ontkoppelen”通常会点击控制器以将实体从 ICollection 中删除,除非我在第一个实体上单击“Ontkoppelen”
解决方案
我在使用 Fiddler 的帮助下解决了这个问题,当视图中的列表为空时,会发布错误的数据。所以我通过分离我的表格来解决它。希望它可以帮助其他任何获得此异常的人。
推荐阅读
- excel - excel 中的 VBA 宏使用 Chrome 搜索 URL 的值,如果找到匹配项则返回 1
- python - 将 min_value 到 max_value 范围内的每个数字相加。然后返回总计
- r - NA 表示 R 中预测包中残差的第一个值
- python - 如何更改 CreateView 中的模型字段值
- c - 使用 3 种不同 typedef 在 C 中实现单链表
- mysql - 如何调整 mysql> innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G;? 使用 MySQL 8.0
- node.js - 如何在sequelize中创建关系对象?
- elasticsearch - 使用 Elastic Metricbeat 收集 Systemd 状态
- c - 为什么将我的 C 结构写入二进制文件会产生比结构包含更多的数据
- python - 测试服务器的响应,当响应在文件和 json 之间变化时