.NET Core 7 MVC多表单页面与控制器数据传递最优方案问询
.NET Core 7 MVC 开发疑问与多表单页面实现建议
技术栈合理性确认
我正在使用VS2022中的.NET Core 7 MVC模板构建简单Web门户,不确定该模板是否为当前推荐的技术栈方案。
页面绑定方式选择
聚焦MVC开发时,想了解页面绑定是推荐使用PageModels,还是采用我偏好的「简单模型结合Razor语法」的方式(微软相关文档未明确说明)。
核心问题:多表单设置页的状态维持
我正在开发一个包含多个表单的设置页,页面结构如下:
- 团队名称表单及提交按钮(仅保存团队名称)
- 当前团队成员列表
- 按邮箱搜索用户的表单
- 匹配搜索结果列表及「添加至团队」按钮
原以为表单提交时需将整个页面模型传递给控制器,处理逻辑后再返回修改后的模型至Index ActionMethod以维持页面状态,但未找到该方案的具体说明,也不确定其合理性。
实际遇到的问题:提交搜索表单时,仅能获取绑定的搜索属性,无法获取团队名称、成员列表等其他模型属性,若重新查询这些数据又显得低效,希望得到合理的实现建议。
示例模型代码
public class SettingsPageModel { public SettingsPageModel() { } public SettingsPageModel(string teamName) { TeamName = teamName; } public SettingsPageModel(SearchModel searchModel) { SearchModel = searchModel; } public SettingsPageModel(string teamName, List<TeamMember> teamMembers, SearchModel searchModel) { TeamName = teamName ?? throw new ArgumentNullException(nameof(teamName)); TeamMembers = teamMembers ?? throw new ArgumentNullException(nameof(teamMembers)); SearchModel = searchModel ?? throw new ArgumentNullException(nameof(searchModel)); } public string TeamName { get; set; } = string.Empty; public List<TeamMember> TeamMembers { get; set; } = new(); public SearchModel SearchModel { get; set; } = new(); public DialogModel? DialogModel { get; set; } } public class SearchModel { public string? SearchTerm { get; set; } public List<User>? SearchedUsers { get; set; } }
内容的提问来源于stack exchange,提问作者JoeTomks
相关产品推荐
相关产品推荐

