4 asp.net-mvc master-pages fileinfo last-modified
我需要在工作中的每个应用程序页面上包含上次修改日期.我过去通过在WebForms母版页底部包含对<%= LastModified%>的引用来执行此操作,该页面将返回当前.aspx页面的上次修改日期.我的代码甚至会检查相关的.aspx.cs文件,比较最后修改的日期,并返回最近的日期.
有谁知道你是否可以阅读MVC视图的FileInfo?如果可能的话,我想将它包含在母版页中.
我有一个基本控制器,所有接线都准备就绪.我需要知道的是如何访问当前视图的FileInfo.
namespace MyMVCApp.Controllers
{
public abstract class SiteController : Controller
{
public SiteController()
{
ViewData["modified"] = NEED TO GET FILEINFO OF CURRENT VIEW HERE;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您需要知道View的物理文件,该文件仅在处理视图时才知道,因此我们将工作延迟到此时为止:
在视图文件的底部,只需添加:
Last Modified Date: @File.GetLastWriteTime(this.Server.MapPath(this.VirtualPath))
Run Code Online (Sandbox Code Playgroud)
注意:它必须位于您想要日期的视图文件中.如果将其放在布局文件中,它将为您提供该文件的日期.但是,您可以使用a将日期输入页脚section
在视图中:
@section lastwrite
{
Last Modified Date: @File.GetLastWriteTime(this.Server.MapPath(this.VirtualPath))
}
Run Code Online (Sandbox Code Playgroud)
布局:
@RenderSection("lastwrite", required: false)
Run Code Online (Sandbox Code Playgroud)
以下将为您提供上次写入视图的日期:
// Last Modified Date
var strPath = Request.PhysicalPath;
ViewBag.LastUpdated = System.IO.File.GetLastWriteTime(strPath).ToString();
Run Code Online (Sandbox Code Playgroud)
注意到我使用了 ViewBag 而不是 ViewData。
归档时间: |
|
查看次数: |
3546 次 |
最近记录: |