当前位置:   MFC > 正文

从数据库而不是文件中提取视图

c#,asp.net-mvc,mvc,webview,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

是否可以从数据库而不是从磁盘上的文件加载视图?它不一定是数据库,可以是任何字符串.

我想我过早地问过这个问题......我仍然期待任何答案,但我肯定会先做一些研究.

编辑

所以我写了一个快速的样本,做了我想要的 - 一点.我会发布更新,因为我让一切正常.

public class DbPathProvider : VirtualPathProvider {
    public DbPathProvider() : base() {

    }

    public override bool FileExists(string virtualPath) {
        if (virtualPath.StartsWith("/test") || virtualPath.StartsWith("~/test"))
            return true;

        return base.FileExists(virtualPath);
        //deal with this later
    }

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

        return base.GetFile(virtualPath);
        //deal with this later
    }

    public class DbVirtualFile : System.Web.Hosting.VirtualFile {

        public DbVirtualFile(string path) : base (path) {
            //deal with this later
        }

        public override System.IO.Stream Open() {
            return new System.IO.MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes("this is a test"));
        }
    }
}

更新

在玩完之后我发现了一些有趣的东西.如果我return base...FileExists()GetFile()方法中删除并且只返回true&my DbVirtualFile,则解析返回的文件并按预期输出.(例如,如果我放<%:DateTime.Now.ToString()%>) - 但是当我添加测试并且基础返回时它不会输出我的DbVirtualFile中的任何内容的文字字符串(上帝,我希望这是有道理的) - 任何想法吗?

最后

有用.我只是没有将继承添加到我正在测试的页面.在这种情况下:@inherits System.Web.Mvc.WebViewPage

希望这有助于其他人尝试做同样的事情.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/MFC/detail/22055
推荐阅读
相关标签
  

闽ICP备14008679号