我对 MVC 非常陌生,并试图刺穿虚拟路径提供程序,并在屏幕上显示日期时间。该路径工作正常并被应用程序识别,但它不会显示detetime,而是只显示字符串“时间是:@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"));
}
}
任何建议将不胜感激。