0
我試圖刪除一條記錄使用一個子表單顯示在一個表上我ManageUser視圖中刪除的記錄,從而ASP.NET MVC3用一個子表單
<table cellpadding="2" cellspacing="0" border="1" summary="User Grid" style="text-align: left">
<tr style="background-color: #ABC3CB;">
<th align="center">User Name</th>
<th align="center">Approved</th>
<th align="center"> </th>
<th align="center"> </th>
</tr>
<% foreach(MembershipUser membershipUser in ViewData.Model) { %>
<tr>
<td><%: membershipUser.UserName %></td>
<td align="center"><%: Html.CheckBox(" ", true, membershipUser.IsApproved) %></td>
<td align="center">
<% using (Html.BeginForm("DeleteItem", "Admin", new { id = membershipUser.UserName })) { %>
<input type="image" src="<%: Url.Content("~/Content/Images/Delete.jpg") %>" />
<% } %>
</td>
</tr>
<% } %>
</table>
顯示ManageUser視圖由AdminController下面的代碼,從而
public ViewResult ManageUser(string searchType, string searchInput)
{
List<SelectListItem> searchOptionList = new List<SelectListItem>()
{
new SelectListItem() {Value="UserName", Text = "UserName"},
new SelectListItem() {Value="Email", Text = "Email"},
};
ViewData["searchOptionList"] = new SelectList(searchOptionList, "Value", "Text", searchType ?? "UserName");
ViewData["searchInput"] = searchInput ?? string.Empty;
ViewData["searchType"] = searchType;
MembershipUserCollection viewData;
if (String.IsNullOrEmpty(searchInput))
viewData = Membership.GetAllUsers();
else if (searchType == "Email")
viewData = Membership.FindUsersByEmail(searchInput);
else
viewData = Membership.FindUsersByName(searchInput);
ViewData["PageTitle"] = "Account Management";
return View(viewData);
}
當我顯示頁面,然後選擇刪除選擇,我希望它在AdminController運行管理/ DeleteItem,從而
public RedirectToRouteResult DeleteItem(string id)
{
Membership.DeleteUser(id);
return RedirectToAction("ManageUser");
}
但相反,它直接返回到Admin/ManagerUser視圖,因此再次顯示我的原始記錄集。
我明顯錯過了一些東西,但我看不到什麼。有人幫忙嗎?
但是,這是史蒂芬·桑德森的書「臨ASP.NET MVC 2框架」顯示的技術,並在他的SportsStore示範工程MVC 2下出現了工作MVC 3的改變? – xiecs 2011-02-01 13:23:45