Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
What is your routing table content?
For instane, if I want to add additional diagnostics controller to my EPiServer site I add following in Global.ascx.cs:
protected override void RegisterRoutes(RouteCollection routes)
{
base.RegisterRoutes(routes);
routes.MapRoute("AdditionalDiagnosticRoutes",
"diag/{controller}/{action}/{param}",
new { action = "Index", param = RouteParameter.Optional });
}
When I do this override and single step during debug it doesn't hit this class. My global.asax.cs class looks like this.
protected override void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
base.RegisterRoutes(routes);
routes.MapRoute(
"JsonGetX", // Route name
"Surface/JsonGetX", // URL with parameters
new { controller = "Surface", action = "JsonGetX" }
);
}
I have a controller that looks like this
public class SurfaceController : Controller
{
[HttpGet]
public ActionResult JsonGetX()
{
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
}
EDIT: I changed the routing to this so that we can exclude me doing wrong in the routing syntax
protected override void RegisterRoutes(RouteCollection routes)
{
base.RegisterRoutes(routes);
routes.MapRoute(
"JsonGetX", // Route name
"Surface/{controller}/{action}/{param}", // URL with parameters
new { action = "Index", param = RouteParameter.Optional }
);
}
If method is not hit then you can verify Global.asax file that you are really inheriting from your class:
<%@ Application Language="C#" Inherits="YourProject.Web.Global" %>
OK, where do I do write this?, If i put in my master page/ layout file (razor) I get an exception.
If you have Global.asax.cs file, there should be also Global.asax file, edit that. Note that if you double-click Global.asax file in VS - it still will open Global.asax.cs file :) Who needs to edit .asax file anyway, right!? :)
Thanks :) Don't know if this brings us closer to the problem but I changed to the path of my Global.asax.cs. This is the error message. I have no clue what this means, if it is me doing wrong in the <%@ Application Language="C#" Inherits="MyProject.Global" %> or if I need to change something else as well.
Unable to load one or more of the requested types. The following information may be a subset of the Type/LoaderException information present - inspect with debugger for complete view.
Check assemblies [EPiServer.Search.IndexingService, Version=7.0.1764.1, Culture=neutral, PublicKeyToken=8fe83dea738b45b7] and/or types [EPiServer.Search.IndexingService.IPRange,
EPiServer.Search.IndexingService.FieldProperties,
EPiServer.Search.IndexingService.FieldSerializers.IndexFieldStoreSerializerBase,
EPiServer.Search.IndexingService.FieldSerializers.TaggedFieldStoreSerializer,
EPiServer.Search.IndexingService.FieldSerializers.AclFieldStoreSerializer,
EPiServer.Search.IndexingService.FieldSerializers.PipeSeparatedFieldStoreSerializer,
EPiServer.Search.IndexingService.FieldSerializers.AuthorsFieldStoreSerializer,
EPiServer.Search.IndexingService.FieldSerializers.CategoriesFieldStoreSerializer,
EPiServer.Search.IndexingService.Configuration.ClientCollection,
EPiServer.Search.IndexingService.Configuration.ClientElement,
EPiServer.Search.IndexingService.Configuration.IndexingServiceSection,
EPiServer.Search.IndexingService.Configuration.NamedIndexCollection,
EPiServer.Search.IndexingService.Configuration.NamedIndexElement,
EPiServer.Search.IndexingService.Configuration.NamedIndexesElement,
EPiServer.Search.IndexingService.FieldSerializers.VirtualPathFieldStoreSerializer,
EPiServer.Search.IndexingService.IndexingServiceSettings,
EPiServer.Search.IndexingService.InternalServerErrorEventArgs,
EPiServer.Search.IndexingService.OptimizedEventArgs,
EPiServer.Search.IndexingService.RemoveEventArgs,
EPiServer.Search.IndexingService.AddUpdateEventArgs]. Information from LoaderExceptions property [Could not load file or assembly 'Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=8fe83dea738b45b7' or one of its dependencies. The system cannot find the file specified.].
EDIT: It's the same message as if I would do @inherits MyProject.Global in the razor page.
EDIT: Solved it. Thanks for your help. The last error here I don't know why it happened. Two references had stopped working. The only reason I can think of why they stopped working is because I recently updated to 7.1. Don't know if it is that or something else. Thanks again! EPIServer just got more fun :)
I want to call an action that has nothing to do with a page in EPIServer. When I set up a controller and call an action I only get
HTTP Error 404.0 - Not Found
What do I need to do to be able to call a normal MVC controller?
Thanks!