Home >Backend Development >C++ >How to Efficiently Pass and Retrieve Selected Checkboxes in an ASP.NET Core View?
Efficiently transmit and retrieve the selected check box in the asp.net core view
You need to pass the project list to the view, select the selection through the check box, and retrieve the selected items. However, manually generating HTML inputs can cause unscaptured inputs to be unable to return. What is the best practice to achieve this function?
Answer:
Avoid manual generating HTML
It is not recommended to manually generate HTML in this case. Modern MVC framework (such as ASP.NET CORE) provides a strong type of HTML auxiliary method for efficient and reliable model binding. Create ViewModel
In order to represent the model data in the view, create a ViewModel class, which is very similar to the domain model, but includes the additional attributes for the selection of the check box. For example:
Fill ViewModel
In the GET operation method, use the data in the field model to fill the ViewModel, including the ISSELECTED property of each character based on whether the character is currently allocated to the user.
<code class="language-csharp">public class UserViewModel { public int ID { get; set; } public string Name { get; set; } public List<RoleViewModel> Roles { get; set; } } public class RoleViewModel { public int ID { get; set; } public string Name { get; set; } public bool IsSelected { get; set; } }</code>
Use the HTML auxiliary method in the view
In the view, use a strong type HTML auxiliary method to present the check box input. This ensures the correct model binding and simplify the code.
The selected role in the post operation method
In the post operation method, ViewModel will automatically bind to the request. You can then traverse the ROLES collection and check the ISSELECTD property to determine which roles you choose.The above is the detailed content of How to Efficiently Pass and Retrieve Selected Checkboxes in an ASP.NET Core View?. For more information, please follow other related articles on the PHP Chinese website!