Можно ли получить представление в MVC без возврата или перенаправления этого представления? - PullRequest
0 голосов
/ 24 января 2020

Есть ли какой-нибудь способ, которым представление MVC может быть получено без явного возвращения этого представления. Другими словами, есть ли в ASP. Некоторая делегированная переадресация или задняя загрузка страницы по умолчанию в *1015*. NET - MVC, которые могут генерироваться в представлении без указания имени этого представления в любом месте исходного кода? Потому что если это так, я хотел бы иметь возможность точно определить все места в моем коде, которые могут вызвать загрузку данного представления, даже без явного возврата этого представления.

Редактировать для ясности:

Я просто хочу знать, как / если какой-либо вид может быть загружен без явного возврата или перенаправления этого представления из ActionResult, чтобы я мог идентифицировать блок кода, вызывающий попадание на страницу.

Вот мой 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 = "Default", id = UrlParameter.Optional }
            );
        }
        private static string EnsureTrailingSlash(string value)
        {
            if (value == null)
            {
                value = string.Empty;
            }

            if (!value.EndsWith("/", StringComparison.Ordinal))
            {
                return value + "/";
            }

            return value;
        }
    }

Вот некоторые потенциально важные разделы из моего Web.config

<configuration>
......
  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>

  <system.web>
    <compilation>
      <assemblies>
        <add assembly="System.Web.Mvc, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
      </assemblies>
    </compilation>
  </system.web>
</configuration>

1 Ответ

1 голос
/ 24 января 2020

Может быть за пределами кода. Проверьте, где вы размещаете ваше веб-приложение, если есть какие-то специальные правила, которые автоматически показывают вашу страницу errror.cs html.

Кроме того, проверьте ваш web.config, если есть специальные правила в там:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
            try looking in here for something like this
        </httpErrors>
    </system.webServer>
</configuration>

Не видя больше вашего кода или чего-либо, трудно сказать точно. Но это может быть полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...