• 异常The following attributes are mutually exclusive: asproute aspcontroller, aspaction asppage, asppagehandler


    使用最新的.net6 开发mvc的应用程序,自动生成代码的功能还是那么方便。不过跟之前的自动生成的代码有了一些变动。

    <td>
                    <a asp-action="Edit" asp-route-id="@item.Id">修改</a> |
                    <a asp-action="Details" asp-route-id="@item.Id">详情</a> |
                    <a asp-route="news" asp-controller=“news” asp-action="index" id="@item.Id">新闻点</a>
                    <a asp-action="Delete" asp-route-id="@item.Id">删除</a>
                </td>

    我当前是在usercontroller的试图下,想要在这里跳转到另外一个action的index中,于是在自动生成的代码中加了一句。

    大家看第二行代码 他自动生成的代码中指定了asp-action和aps-route-id

    他们分别是跳转的action和跳转的参数id

    如果我想跳转到另一个controller中,是不是指定route 为news就行了呢,写完以后运行代码,系统提示了这样的错误:

    InvalidOperationException: Cannot determine the 'href' attribute for <a>. The following attributes are mutually exclusive: asp-route asp-controller, asp-action asp-page, asp-page-handler

    意思是 以下的这些属性是互斥的:

    asp-route asp-controller, asp-action asp-page, asp-page-handler

    就是说

    asp-route asp-controller不能同时指定, asp-action asp-page不能同时指定。

    明白了原因就好办了。

    在代码中把asp-toute属性去掉

    <td>
                    <a asp-action="Edit" asp-route-id="@item.Id">修改</a> |
                    <a asp-action="Details" asp-route-id="@item.Id">详情</a> |
                    <a asp-controller="news" asp-action="index" id="@item.Id">新闻点</a>
                    <a asp-action="Delete" asp-route-id="@item.Id">删除</a>
                </td>

    然后运行程序,不再有异常。OK,问题解决。

  • 相关阅读:
    xml学习篇(二) ----JSON 和XML对比
    xml学习篇(一)
    在Tomcat下部署web项目
    三枪客
    在Eclipse中使用JUnit4进行单元测试(初级篇)
    在Eclipse中使用JUnit4进行单元测试(高级篇)
    在Eclipse中使用JUnit4进行单元测试(中级篇)
    hibernate学习之Hibernate API
    Hibernate学习之对象持久化
    MySQL【七】单表查询
  • 原文地址:https://www.cnblogs.com/kdkler/p/15732467.html
Copyright © 2020-2023  润新知