0
我是C#MVC的新手,並且無法確定如何與我想要刪除的特定用戶建立連接。嘗試在.NET中通過用戶名從數據庫中刪除用戶MVC
我有讀取用戶的用戶名(user.UserName)的表
@using (Html.BeginForm("DeleteUser", "Manage", FormMethod.Post))
{
<table class="table">
<tr>
<th>Username</th>
<th>Role</th>
</tr>
@foreach (var user in Model)
{
<tr>
<td>
@user.UserName
</td>
<td>
@{
var roleId = user.UserRoles != null && user.UserRoles.Any() ? user.UserRoles.First().RoleId : (short) 2;
}
@Html.DropDownList(string.Format("User_{0}", user.UserId), ListProvider.GetRoles(roleId), new {})
<input type="button" data-id="@user.UserId" value="Set" class="btn btn-primary" id="btn-set"/>
<input type="submit" value="Delete" class="btn btn-danger"/>
</td>
</tr>
}
</table>
然後我有一個DeleteUser行動在我的控制器,它指向刪除用戶的方法。
[HttpPost]
public ActionResult DeleteUser(string usernameToDelete)
{
var deleteUserObj = new User {UserName = usernameToDelete};
UsersContext deleteUser = new UsersContext();
deleteUser.DeleteUser(deleteUserObj);
return RedirectToAction("Index");
}
完全DeleteUser方法語境:
public void DeleteUser(User user)
{
Users.Remove(user);
SaveChanges();
}
我不明白的是如何將usernameToDelete連接到我試圖刪除特定user.Username。
任何幫助,將不勝感激!提前致謝!
感謝您的幫助!但我仍然不確定如何建立與刪除按鈕位於同一行的特定用戶的連接,因爲用戶名只是在foreach循環中讀出。 – cfly24
查看更新,而不是使用提交使用超鏈接來刪除用戶。我現在不是你的控制器的名字,但你可以在代碼中改變它。也可以移除控制器方法上方的[HttpPost]標籤,因爲它採用的是GET操作而不是POST。 – Mivaweb
太棒了,那麼我將不得不在我的UsersContext中更改刪除用戶方法? public void DeleteUser(用戶用戶) { Users.Remove(user); SaveChanges(); } – cfly24