能否在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
相关产品推荐
相关产品推荐

