在ASP.NET Core Razor Pages中,如果动态生成的复选框未显示选中的值,可以使用以下解决方法:
public IActionResult OnGet()
{
// 获取选中的值列表
List selectedValues = GetSelectedValues(); // 获取选中的值列表的方法
// 将选中的值列表传递给视图
ViewData["SelectedValues"] = selectedValues;
return Page();
}
@foreach
循环来动态生成复选框,并根据选中的值列表来判断是否选中。@foreach (var item in Model.Items)
{
)ViewData["SelectedValues"]).Contains(item.Value))
{
checked
} /> @item.Text
}
在上面的代码中,Model.Items
是用于生成复选框的选项列表,item.Value
是每个选项的值,item.Text
是每个选项的文本。
public IActionResult OnPost()
{
// 获取选中的复选框值
List selectedValues = Request.Form["selectedValues"].Select(int.Parse).ToList();
// 处理选中的值
ProcessSelectedValues(selectedValues); // 处理选中的值的方法
return Page();
}
在上面的代码中,selectedValues
是通过Request.Form获取的选中的复选框值列表。
这样,当页面加载时,动态生成的复选框将显示选中的值,并在表单提交时,可以获取选中的复选框值进行处理。