Samira Radwan Ответов: 2

Asp.net ошибка маршрутизации URL-адресов веб-форм 404


Привет,

У меня есть веб-приложения ASP.NET форма и нужна, чтобы добавить URL-адреса маршрутизации.
Последовал за ним MSDN[^].
Кроме того, я добавил в <модули runAllManagedModulesForAllRequests="истинный" &ГТ; в веб.конфиг.
всегда возвращать Ошибка HTTP 404.0 - не найдена
Я много искал в интернете и перепробовал все возможные решения, но безуспешно

Пожалуйста, посоветуйте

Заранее спасибо!!
Самира

Что я уже пробовал:

Глобальные.эйсакс.в CS
protected void Application_Start(object sender, EventArgs e)
        {
            urlRouting(RouteTable.Routes);
        }
        
        void urlRouting(RouteCollection routes)
        {
            routes.MapPageRoute("IC", "IC", "~/EN/en-ic.aspx");
            routes.MapPageRoute("brands", "brands", "~/EN/brands.aspx");
        }

назначить href на главной странице
if (Page.User.Identity.IsAuthenticated)
{
  brands_li.HRef = "brands";
  li_IC.HRef = "IC";
}

веб.конфиг
<!-- routing -->
    <modules runAllManagedModulesForAllRequests="true" >
      <remove name="UrlRoutingModule" />
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
    <!--end of routing-->
<handlers>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>

2 Ответов

Рейтинг:
1

Vinod Jangle

Не могли бы вы попробовать ниже -

//Global.asax
protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("IC", "IC", "~/Page1.aspx");
}


У твоей же ссылке -
<asp:LinkButton ID="lnkLC" runat="server" OnClick="lnkLC_Click">IC_PAGE_TEST</asp:LinkButton>


а потом пусть ваше мероприятие будет таким же -
  protected void lnkLC_Click(object sender, EventArgs e)
{
    Response.RedirectToRoute("IC");
}


Samira Radwan

Спасибо, но ваше решение не очень отличается от моего, все равно не работает

[no name]

Вы пытаетесь использовать asp:linkbutton или anchor tag? Я попробовал с помощью кнопки link n сработало

Samira Radwan

Я пробовал и то, и другое, все еще давая ошибку 404

[no name]

вышеприведенная пьеса не сработала для вас? Можете ли вы обновить свой код, как пытались.

Samira Radwan

то, что я обнаружил, проблема не в вашем коде или моем, проблема глобальная.asax находится в корне, и все мои файлы aspx и главные страницы находятся внутри папки под названием (EN) не в корне. Маршрутизация отлично работает с любой страницей/формой, расположенной в главном корне проекта, а не с файлами, расположенными внутри папок!!

[no name]

Я не вижу никакой проблемы, так как ниже работало для меня, когда я пытался переместить свои файлы в папки.

маршруты.MapPageRoute("IC", "IC", "~/Folder1/Folder2/Page1.aspx");

Рейтинг:
1

Member 13909437

Вы когда-нибудь находили решение? У меня сейчас та же проблема.


Vincent Maverick Durano

Привет, пожалуйста, не отвечайте как решение. Используйте комментарии, когда просите ясности или запроса. Спасибо!