Ich kann diese Arbeit nicht bekommen, auch nach Dutzenden von anderen ähnlichen Fragen. Hier ist mein Controller (mit Entity Framework erstellt)Route MVC ASP.Net wird einfach nicht funktionieren
namespace mypage.Controllers
{
[RoutePrefix("Booking")]
public class BookingsController : BaseController
{
private mypageContext db = new mypageContext();
// GET: Bookings
public ActionResult Index()
{
var model = db.Bookings.ToList();
//model.Find()
return View(model);
}
// etc.
meine global.asax
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Database.SetInitializer<mypageContext>(new DropCreateDatabaseIfModelChanges<mypageContext>());
}
}
Und routeconfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Ich bekomme immer eine 404 beim Öffnen http://localhost:xxxxx/Booking dies jedoch funktioniert http://localhost:xxxxx/Bookings
ist e irgendeinen anderen Ort zu überprüfen?
PS: die BaseController
ist gerade leer
public abstract class BaseController : Controller
{
}
bearbeiten
Wenn ich aber statt RoutePrefix ein Präfix regelmäßig hinzufügen, es ist nicht entweder gar
[Route("Booking/New")]
public ActionResult Edit(int? id)
funktioniert
Ok, Folgefrage, weil das tatsächlich funktioniert hat. Muss ich jetzt wirklich die '[Route (" ThisAction ")]' zu jeder Aktion hinzufügen? – rst
Sie können den Controller mit '[RoutePrefix (" Buchung "), Route (" {Aktion} ")] markieren und brauchen ihn nicht bei jeder Aktion. Viele Beispiele hier [Attribut-Routing in ASP.NET MVC 5] (https://blogs.msdn.microsoft.com/webdev/2013/10/17/attribute-routing-in-asp-net-mvc-5/) – Jasen
Wenn ich für jede Aktion dieses hier hinzufügen [Route ("test")] ', bekomme ich einen' HTTP Error 400.0 - Bad Request' .... warum das? – rst