2016-01-04 2 views
1

Я пытаюсь создать административную область, где администратор может удалить пользователя с dbo.AspNetUsers. До сих пор у меня есть это на мой взгляд, индекс от моего контроллера администратора:Удаление пользователя в SQL Server

@using BlogMaxim.Models 
@model List<BlogMaxim.Models.Users> 
@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 
@foreach (Users user in Model) 
{ 
    <div class="table-responsive"> 
     <table class="table table-condensed"> 
      <tr> 
       <th>Username</th> 
       <th>Email</th> 
       <th>Id</th> 
      </tr> 
      <tr> 
       <td>@user.UserName</td> 
       <td>@user.Email</td> 
       <td>@user.Id</td> 
       <td>@using (Html.BeginForm("Delete", "Admin", new { id = user.Id })) 
       { 
        <input type="submit" class="button" value="Delete" /> 
       }</td> 
      </tr> 
     </table> 
    </div> 

} 

Он показывает все пользователи вместе с удаления кнопки рядом с ним. Я не знаю, какой код нужно написать в Delete методе моего admincontroller в:

public class AdminController : Controller 
{ 
    private UserRepository repoUsers = new UserRepository(); 

    // GET: Admin 
    [Authorize(Roles = "Admin")] 
    public ActionResult Index() 
    { 
     List<Users> users = repoUsers.GetUsers(); 
     return View(users); 
    } 

    public ActionResult Delete() 
    { 
     return RedirectToAction("Index"); 
    } 
} 

Это то, что я в это время, я довольно новый для ASP.NET MVC.

+0

ты пользуешься EF? –

+0

@AwaisMahmood Да, я – Maxim

ответ

1

Если вы используете EF, то его более проще, так как:

[HttpPost] 
public ActionResult Delete(int Id) 
{ 
    private ApplicationDbContext context = new ApplicationDbContext(); 
    var user = context.Users.Find(Id); 
    context.Users.Remove(user); 
    context.SaveChanges(); 
    return RedirectToAction("Index"); 
} 

где ApplicationDbContext класс ребенок IdentityDbContext помещен в IdentityModels.cs в папке Models

+0

Это ли «ABC» в вашем примере представляет мой список «Пользователи» (моя модель)? – Maxim

+0

да его ваша модель .. –

+0

Я не понимаю часть 'db'? Откуда это происходит? Я забыл добавить, что хочу удалить пользователей в моей базе данных dbo.AspNetUsers – Maxim

0

Создать dbEntities class-

public partial class dbEntities : DbContext 
    { 
     public dbEntities() 
      : base("name=the name of the database that you have given in connectionstring") 
     { 
     } 
} 

В контроллере -

private readonly dbEntities database; 
public AdminController() 
     { 
      this.database = new dbEntities(); 
     } 

Затем в ActionResult из Delete

public ActionResult Delete(int Id) 
{ 
    ABC abc = new ABC(); 
    abc = db.ABC.Find(Id); 
    database.Remove(abc); 
    database.SaveChanges(); 
    return RedirectToAction("Index"); 
}