我有一個頁面(User.aspx),它顯示等待接受的用戶列表。頁面允許管理員通過點擊用戶名旁邊的按鈕來接受用戶的組織。當管理員點擊列表中的任何用戶的按鈕時,它接受列表頂部的用戶而不是選定的用戶。我已經在Chrome Developer工具包中檢查了id,它正在傳遞正確的Id,但是當控件在Action(AcceptUser)中碰到斷點時,它顯示列表中第一個用戶的Id。但看起來像是改變了ViewBag (UserId)之間的值。任何人都可以請教我如何解決這個問題。ViewBag正在通過更改的值部分視圖
Users.aspx
<% foreach (var user in Model.UsersAwaitingAcceptance)
{ %>
<a class="label label-SU-success" href="#accept" role="button" data-toggle="modal"><i class="icon-success icon-white"></i></a>
<% Html.RenderPartial("AcceptUserDialog", Model.Accept, new ViewDataDictionary { { "OrgId", Model.OrgId }, { "UserId", user.Id } }); %>
<% } %>
AcceptUserDialog.ascx
<div id="accept">
<% using (Html.BeginForm("AcceptUser", "Organization", new { userId = ViewBag.UserId, orgId = ViewBag.OrgId}, FormMethod.Post, new { @class = "zero-bottom form-horizontal" }))
{ %>
// UserId is different here
<%= ViewBag.UserId%>
<%= ViewData["UserId"]%>
// Above code is displaying different UserId
<% } %>
<\div>
OrganizationController
public ActionResult AcceptUser(Guid userId, Guid orgId)
{
// Logic here
}
對於每個循環來說,你期望得到什麼??? ??? – Rex 2014-12-01 17:21:18
我希望獲得所選用戶的UserId而不是列表中的第一個用戶。 – user1211185 2014-12-01 17:22:19
我沒有看到任何條件檢查循環內.. – Rex 2014-12-01 17:24:00