Реализовать 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.
Маршрутизация: