Ответ 1
ОБНОВЛЕНИЕ 2:
Я наконец понял, чего вы пытаетесь достичь. Извините, что я не понимал изначально. Я недостаточно внимательно прочитал ваш вопрос. Вы пытаетесь напрямую получить доступ к странице Razor за пределами папки ~/Views
.
В ASP.NET MVC 4 это отключено по умолчанию. Чтобы включить все, что вам нужно сделать, выполните следующие настройки в файле web.config:
<add key="webpages:Enabled" value="true" />
Значение по умолчанию false
по умолчанию при создании нового проекта ASP.NET MVC 4 с использованием любого из шаблонов. Поэтому я думаю, что ваш коллега уже сделал это, если вы говорите, что он работает на своем ПК.
ORIGINAL
Вы не должны запрашивать непосредственно файл .cshtml
в приложении ASP.NET MVC. Это виды, расположенные в папке ~/Views
. Они не доступны напрямую. Вам нужно соответствующее действие контроллера.
Например, скажем, что у вас есть следующий контроллер:
public class HomeController: Controller
{
public ActionResult Index()
{
return View();
}
}
а затем определил представление ~/Views/Home/Index.cshtml
с содержимым, указанным в вашем вопросе.
Теперь, когда вы запустите приложение, вы можете перейти к /Home/Index
, который выполнит действие Index
контроллера Home
и отобразит соответствующее представление.
Я бы порекомендовал вам прочитать некоторые обучающие материалы о ASP.NET MVC, чтобы ознакомиться с основными основными понятиями.
ОБНОВЛЕНИЕ 1:
Код, который блокирует запросы к файлам .cshtml
внутри папки ~/Views
, находится внутри файла ~/Views/web.config
:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>