[英]Postback from multiple DropDownList working but not refreshing in page
我有一個 razor 頁面,其中包含一個迭代用戶對象列表的 for 循環。
循環的每個重復都包含一個下拉列表:-
<button type="submit" asp-page-handler="SetUserStatuses">Update Statuses</button>
@for (int i = 0; i < Model.UserList.Count; i++)
{
@Model.UserList[i].UserAccountStatusId
@Html.DropDownList("UserAccountStatusId", new SelectList(Enum.GetValues(typeof(UserAccountStatus)).Cast<UserAccountStatus>().Select
(v => new SelectListItem
{
Text = v.GetDescription(),
Value = (Convert.ToInt32(v)).ToString()
}), "Value", "Text", Model.UserList[i].UserAccountStatusId))
@Html.Hidden("UserId", Model.UserList[i].UserId)
頁面處理程序只是:-
public void OnPostSetUserStatuses(int[] UserId, int[] UserAccountStatusId)
{
for (var i = 0; i < UserId.Length; i++)
{
userService.SetUserStatus(UserId[i], UserAccountStatusId[i]);
}
var userList = userService.GetUsers();
UserList = userList;
return Page();
}
model 定義如下:-
public List<User> UserList { get; set; }
[BindProperty]
public int[] UserAccountStatusId { get; set; }
[BindProperty]
public int[] UserId { get; set; }
因此,當我發布提交時,頁面處理程序被觸發,數據庫被更新,新值返回到 UserList 中的 model。
此外,這行說: -
@Model.UserList[i].UserAccountStatusId
以正確的值顯示。
但是,下拉列表不會使用正確的選定值刷新。 我認為問題在於我有多個下拉菜單,並且似乎存在一些約束性問題,我一生都無法理解。
有人可以幫忙嗎。
嘗試使用 DropDownListFor
@Html.DropDownListFor(model=> model.UserAccountStatusId[i],
...., @Model.UserAccountStatusId[i])
````
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.