gpt4 book ai didi

c# - MVC 4路由找不到 Controller

转载 作者:行者123 更新时间:2023-12-02 08:34:21 24 4
gpt4 key购买 nike

我在我的新 MVC 5 应用程序中找不到 Controller 路由。我一直在关注一些教程,一切似乎都写得正确,但在浏览器中浏览地址时,我总是得到:

No HTTP resource was found that matches the request URI "//localhost:50473/api/tile"

/Controller/ProductController.cs

using System;
using System.IO;
using System.Web;
using System.Net;
using coal.Models;
using System.Linq;
using System.Text;
using System.Net.Http;
using System.Web.Http;
using System.Collections.Generic;

namespace coal.Controllers
{
public class ProductController : ApiController
{
public void GetAllProducts() { }
[HttpGet]
public string Tiles(string urls) { }
}
}

/App_Start/WebApiConfig.cs

namespace coal
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services

// Web API routes
config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
name: "Default",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "api",
routeTemplate: "api/{controller}/{id}",
defaults: new { controller = "coal", action = "Index", id = "" }
);
}
}
}

我知道我遗漏了一些东西,只是无法弄清楚它是什么。任何见解都会有所帮助。

谢谢

最佳答案

您的方法名称是 Tiles,但您正试图点击 tile

public string Tiles(string urls) { }

编辑:更新为在正确的使用路径中包含 ProductController:

此外,您的路由定义为 api/{controller}/{action},您的 Controller 名称为 ProductController。

您应该使用的 url 是:api/product/tiles,除非您创建一个将 Product/tiles 操作映射到 api/tiles 的路由 路线。

你的路线应该是这样的:

      config.Routes.MapHttpRoute(
name: "Default",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);

关于c# - MVC 4路由找不到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com