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

使用MVC自定义路由时Ajax调用停止工作

如何解决使用MVC自定义路由时Ajax调用停止工作

我已经为用户友好的URL定义了自定义路由。

但是无法使用ajax或使用Ajax.BeginForm()调用认路由。在删除自定义路由时,所有路由都可以正常工作。

这是我的RouteConfig.cs

 //product view route
            routes.MapRoute(
                name: "ProductView",url: "product/{product_name}/{id}",new { controller = "Product",action = "View",product_name = UrlParameter.Optional,id = UrlParameter.Optional },new[] { "NoveltyApp.Controllers" }
            );

            routes.MapRoute(
                name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",new[] { "NoveltyApp.Controllers" }
            );

产品视图URL:http:// localhost:56379 / product / Camlin-Kokuyo-Acrylic-Color-Box --- 9ml-Tubes-1 / 1

ProductController.cs

 public string ProductReviews()
 {
    return "Product review list";
 }

从“产品”视图调用Ajax

<button type="button" class="btn btn-thm nf-pr-vi__btn" onclick="reviews()">Reviews</button>

<script>
function reviews() {
        $.ajax({
            url: '/Product/ProductReviews',type: 'GET',success: function (data) {
                alert(data);
            }
        });
    }
</script>

但是在单击按钮时,控制器操作没有被击中。请帮我解决问题。

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