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

能否在Razor表单的asp-controller属性中通过条件判断切换控制器?

Razor表单asp-controller属性条件判断实现方案

你的代码无法工作主要有两个语法问题:使用了中文引号,且控制器名称未作为字符串字面量处理。以下是两种可行的实现方式:

  • 直接在属性中使用正确的Razor条件表达式
    确保用英文双引号包裹属性值,同时将控制器名称以字符串形式传入条件判断:

    <form asp-controller="@(Model.condition ? "Controller1" : "Controller2")" asp-action="YourAction">
        <!-- 表单内容 -->
    </form>
    
  • 提前定义变量再引用(适合逻辑复杂或需复用的场景)
    先在视图的代码块中计算目标控制器名称,再在表单属性中引用:

    @{
        var targetController = Model.condition ? "Controller1" : "Controller2";
    }
    
    <form asp-controller="@targetController" asp-action="YourAction">
        <!-- 表单内容 -->
    </form>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 05:24:20