Реализовать virtualpath предоставить и отобразить дату и время из строки в виртуальном файле

Я очень новичок в MVC и пытаюсь внедрить провайдера виртуальных путей и отображать время на экране. Путь работает нормально и распознается приложением, однако он не будет отображать время обнаружения, вместо этого он просто отображает строку "Time is: @DateTime.Now". но если я верну виртуальный файл напрямую, он покажет время точно.

Следующий код извлекает виртуальный файл:

  public override VirtualFile GetFile(string virtualPath)
    {
        //if (virtualPath.StartsWith("/test") || virtualPath.StartsWith("~/test"))
            return new StringVirtualFile(virtualPath);

        //return base.GetFile(virtualPath);
    }

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

Код для виртуального файла:

  public class StringVirtualFile : System.Web.Hosting.VirtualFile
    {
        public StringVirtualFile(string path)
            : base(path)
        {
        }
        public override System.IO.Stream Open()
        {
            return new MemoryStream(Encoding.UTF8.GetBytes("Time is: @DateTime.Now"));
        }
    }

Любые предложения будут оценены.

1 ответ

"@" - для двигателя представления Razor. Либо выполните string.format("Time is: {0}", DateTime.Now"), либо используйте маршрутизацию, контроллер и представление ASP MVC (здесь можно использовать" @ ") вместо VirtualFile.

Маршрутизация:

Другие вопросы по тегам