You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 8 MVC(ASPNET Zero)下拉框回传值相关文档查询

ASP.NET Core 8 MVC(ASP.NET Zero)Select下拉框回传值绑定配置指南

核心绑定规则与name属性设置

模型绑定的核心逻辑是:表单字段的name属性值必须与控制器Action接收的参数对象的属性路径匹配(默认大小写不敏感)。

  • 若Action参数是CreateOrEditVisitorLogModalViewModel类型,name需设为VisitorLog.Visiting(对应ViewModel中嵌套的Dto属性路径),此时asp-for="@Model.VisitorLog.Visiting"会自动生成该name值,无需手动设置。
  • 若Action参数是CreateOrEditVisitorLogDto类型,name需设为Visiting(或小写visiting,模型绑定不区分大小写),这也是你手动设置name="visiting"能生效的原因。

注意:asp-for标签助手的核心作用是自动生成正确的name值、回显表单提交前的选中值,以及生成客户端验证属性。移除它不影响回传,是因为你手动设置了正确的name,但建议保留以获得完整的表单功能。

你的代码适配分析

你的下拉框配置已经是正确的:

  1. asp-items通过SelectList绑定StaffMembers数据源,指定Id为选项值、Name为显示文本,符合ASP.NET Core MVC的下拉框数据源绑定规范。
  2. 手动设置name="visiting"匹配了Action接收的CreateOrEditVisitorLogDto参数的Visiting属性,因此能正确回传选中值。
  3. 保留的空选项--- select one ---提供了默认未选择状态,符合表单交互逻辑。

ASP.NET Zero环境下的额外注意事项

ASP.NET Zero基于ASP.NET Core MVC,模型绑定规则与原生一致,但需关注:

  • 项目生成的CRUD模板通常会直接用Dto作为Action参数(而非ViewModel),因此name属性需匹配Dto的属性名,而非ViewModel的嵌套路径。
  • 若使用ABP框架的自动表单绑定功能,需确保name属性与Dto的属性名严格对应(大小写不敏感,但建议保持一致以避免潜在问题)。

内容的提问来源于stack exchange,提问作者OutstandingBill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:01:06