在URL路由4.0中找不到该资源

时间:2011-10-18 10:37:42

标签: c# asp.net routing

我在我的项目中使用URL路由4.0。 它给了我资源无法找到,当我在单独的测试项目中使用所有相同的方法工作正常,但不是我的实际项目。

public static void SetUpRoutes(RouteCollection routes)
    {
        // Add StopRoutingHandler for .axd and .asmx requests
        routes.Ignore("{resource}.axd/{*pathInfo}");
        routes.Ignore("{service}.asmx/{*pathInfo}");

        routes.MapPageRoute("AllAssignment", "questions/", "~/Questions/default.aspx");

        routes.MapPageRoute("AllAssignmentQuestions", "questions/AllQuestionAssignment/{pageno}",
                            "~/Questions/assignments.aspx", true, new RouteValueDictionary {{"pageno", null}},
                            new RouteValueDictionary {{"pageno", @"^[0-9]*$"}});}

我在global.aspx上的应用程序启动时调用了上面的方法 以下是生成链接的方法。

    private static string GetEntityURL(string routeName, RouteValueDictionary parameters)
    {
        VirtualPathData entity = null;
        entity = RouteTable.Routes.GetVirtualPath(null, routeName, parameters);
        if (entity != null) return string.Format("{0}", entity.VirtualPath);
        return null;
    }

  public static string GetAllAssignmentQuestionsURL()
    {

        RouteValueDictionary parameters = new RouteValueDictionary();
        return GetEntityURL("AllAssignmentQuestions", parameters);
    }

任何人都可以帮我找出我在做错的地方。 或者如何调试所有过程。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,这发生在我身上,因为我的应用程序名称有, 我正在使用该网站,该网站的名称为 xyz.web ,当我将 xyz.web 转换为 xyz 时,它对我有用