Я просто ввожу «MyMessages / Index» после localhost: 51531 /, и это всплывающее окно отображается. Мне это кажется очень странным, но, вероятно, что-то простое.
Поэтому я пытаюсь перейти к localhost:51531/MyMessages/Index
в Edge.
Контроллер public class MyMessagesController : Controller
Действие контроллера просто:
public IActionResult Index()
{
return View();
}
Есть идеи, почему это происходит?
Этого не происходит в IE11
Можете ли вы показать имя представления «Индекс» в папке «Мои сообщения»?
@Coding Я не могу сделать снимок экрана, так как он находится на моем компьютере во внутренней сети. Уверяю вас, путь к файлу - ../Views/MyMessages/Index.cshtml
Что произойдет, если вместо этого вы перейдете на http://localhost:51531/MyMessages/Index
? Или http://localhost:51531/MyMessages/
?
Попробуйте добавить к этому URL-адресу http://
. Кажется, он анализирует localhost
как протокол, поэтому он не может найти приложение для его открытия - на вашем компьютере нет приложения наверное, зарегистрированного для «протокола localhost
».
@mjwills Это сработало :) спасибо
Проблема в том, что вы оставили схема в начале URL-адреса. Некоторые браузеры будут сделать вывод это при определенных обстоятельствах, но не все браузеры будут делать это постоянно.
Вместо:
localhost:51531/MyMessages/Index
Пытаться:
http://localhost:51531/MyMessages/Index
Попробуйте добавить к этому URL-адресу http://
. Edge, похоже, анализирует localhost
как Схема URI, поэтому Windows не может найти приложение для его открытия - на вашем компьютере нет приложения наверное, зарегистрированного на localhost
.
http://localhost:51531/MyMessages/Index
Вывод http://
может показаться несложным, но имейте в виду, что переход, например, к file://C:\Users\[Username]\Desktop\document.txt
в любом веб-браузере будут открывает файл - поэтому, когда браузер видит что-то такое, что выглядит, например схему URI (например, localhost:51531
), имеет смысл предположить, что это так.
Диалоговое окно «Вам понадобится новое приложение, чтобы открыть это» появляется, когда URL-адрес вводится со схемой, которая не была зарегистрирована в приложении. Примером настраиваемой схемы для конкретного приложения является схема URL-адреса steam://[appid]
или схема mailto://[address]
, часто используемая, например, Outlook.
(См. Также Что такое схема URI?)
это сработало для меня, в моем случае я отлаживал приложение и хотел принудительно выполнить чистую загрузку страницы, поэтому я просто перешел в адресную строку и нажал [ENTER], не работал, пока я вручную не добавил префикс http: // , довольно раздражает!
Простой вариант префикса http кажется прекрасным, но предположим, что вы нажимаете Ctrl + R (что разработчики делают часто), а затем по странной причине он по-прежнему вызывает приложения для открытия, что раздражает. Я смог заставить его работать, добавив запись dns (etc / hosts), чтобы «Edge» теперь знал, что такое localhost.
127.0.0.1 localhost
Ваш вопрос отсутствует! Как называется контроллер?