0

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

但是无法使用 ajax 调用默认路由或使用Ajax.BeginForm()On删除自定义路由,一切正常。

这是我的 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", id = UrlParameter.Optional },
                new[] { "NoveltyApp.Controllers" }
            );

产品查看网址:http://localhost:56379/product/Camlin-Kokuyo-Acrylic-Color-Box---9ml-Tubes-1/1

产品控制器.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>

但是点击按钮控制器动作没有被击中。请帮我解决问题。

4

0 回答 0