سلام
من سعی کردم دستورات رو بجای MVC توی RazorPage بنویسم. دستورات حذف نقش رو با هندلر نوشتم. هر وقت که یه نقش رو حذف میکنم وقتی میخوام نقش دوم رو حذف کنم این کار انجام نمیشه. جالب اینجاست که برای حذف نقش بعدی اگه بیام و روی هندلر Break Point بذارم برنامه اونجا متوقف میشه و با زدن F10 برنامه جلو میره و نقش حذف میشه. ولی بدون Break Point فقط یک بار اینکار انجام میشه و باید برنامه ریست و مجدد راه اندازی بشه تا این کار انجام بشه. به صورت خلاصه هندلر فقط یکبار به صورت نرمال اجرا میشه. چرا؟
دستورات هندلر:
public IActionResult OnGetDeleteRole(string id)
{
if (string.IsNullOrEmpty(id)) return NotFound();
var role = _rolesAndClaims.GetRoleById(id);
if (role == null) return NotFound();
_rolesAndClaims.DeleteRole(role);
return RedirectToPage("Index");
}
دستورات سرویس:
public IdentityRole GetRoleById(string roleId)
{
return _roleManager.FindByIdAsync(roleId).Result;
}
public void DeleteRole(IdentityRole role)
{
_roleManager.DeleteAsync(role);
}