微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可能有重复的动作名称和参数列表用于发布和获取?

如何解决是否可能有重复的动作名称和参数列表用于发布和获取?

| 是否可以有两个具有相同名称和参数的动作,但一个是帖子,另一个是get?例如
Delete(id)
[HttpPost]Delete(id)
...我收到一条错误消息说不允许这样做...     

解决方法

        是的,有可能。只需对一项操作使用ActionName属性:
        public ActionResult Delete(int id)
        {
            //...
            return View();
        }

        [HttpPost]
        [ActionName(\"Delete\")]
        public ActionResult Delete_Post(int id)
        {
            //...
            return View();
        }
    ,        收到错误消息(不允许这样做)的原因是C#本身感到困惑。在MVC中,您可以添加属性以指定函数是HttpGet还是HttpPost,但这并不能帮助C#确定一个函数之间的区别。为了使两个函数具有完全相同的名称,参数列表需要不同。 正如frennky所指出的,ActionName属性在MVC中起作用,因为MVC使用别名作为确定要调用哪个动作的过程的一部分(以及属性,而不是参数)。 附带说明一下,最好不要对GET请求执行Delete操作。您不希望搜寻器或其他漫游器意外点击错误的链接:P     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。