Kullanıcı Düzenle Yetkisi olan kullanıcılar, kullanıcı düzenleme işlemi yapabilecek..
HesapController.cs

HesapController.cs
[Authorize(Roles ="Kullanıcı Düzenle")]
public async Task<IActionResult> Duzenle(string id)
{
ProfilDuzenle model= new ProfilDuzenle();
var kullanici=await userManager.FindByIdAsync(id);
if(kullanici==null){
return View(@"Views\Shared\_hata.cshtml","Kullanıcı bulunamadı!");
}
model.Ad=kullanici.Ad;
model.Soyad=kullanici.Soyad;
model.OkulNumarasi=kullanici.OkulNumarasi;
model.Id=kullanici.Id;
return View(model);
}
Views\Hesap\Duzenle.cshtml
@model ProfilDuzenle
@{
ViewData["Title"] = "Kullanıcı düzenle";
}
<h1 class="text-center">Kullanıcı düzenle</h1>
<form method="post" asp-antiforgery="true">
<input asp-for="Id" type="hidden" />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="row mb-3">
<div class="col-3">
<label asp-for="Ad" class="label-control"></label>
</div>
<div class="col-9">
<input asp-for="Ad" class="form-control">
<span asp-validation-for="Ad" class="text-danger"></span>
</div>
</div>
<div class="row mb-3">
<div class="col-3">
<label asp-for="Soyad" class="label-control"></label>
</div>
<div class="col-9">
<input asp-for="Soyad" class="form-control">
<span asp-validation-for="Soyad" class="text-danger"></span>
</div>
</div>
<div class="row mb-3">
<div class="col-3">
<label asp-for="OkulNumarasi" class="label-control"></label>
</div>
<div class="col-9">
<input asp-for="OkulNumarasi" class="form-control">
<span asp-validation-for="OkulNumarasi" class="text-danger"></span>
</div>
</div>
<div class="row">
<div class="col-3"></div>
<div class="col-9">
<button type="submit" class="btn btn-success">Güncelle</button>
<button type="reset" class="btn btn-danger">Sıfırla</button>
</div>
</div>
</form>
@section Scripts{
<partial name="_ValidationScriptsPartial" />
}
HesapController.cs
[HttpPost]
[Authorize(Roles ="Kullanıcı Düzenle")]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Duzenle(ProfilDuzenle m)
{
if (ModelState.IsValid)
{
var kullanici = await userManager.FindByIdAsync(m.Id);
kullanici.Ad = m.Ad;
kullanici.Soyad = m.Soyad;
kullanici.OkulNumarasi = m.OkulNumarasi;
await userManager.UpdateAsync(kullanici);
return View(@"Views\Shared\_basarili.cshtml", "Kullanıcı başarıyla güncellendi");
}
return View(m);
}