asp.net-mvc-3 – ASP.NET MVC 3.0 Razor,从任何地方开始加载Vie
是否可以从任何地方加载View
在MVC 3.0中实现自定义的VirtualPathProvider? 如果是真的怎么办? 基本上,实现自定义的VirtualPathProvider它将不会是一个问题 我从这里跟随我的自定义VirtualPathProvider相同的代码:http://buildstarted.com/2010/09/28/mvc-3-razor-view-engine-without-a-controller/ 更新1 确定我已经修复了我的自定义VirtualPathProvider的问题我注册我的自定义VirtualPathProvider提供者的第一行在Application_Start() protected void Application_Start() { //Should be first line before routes and areas registration. HostingEnvironment.RegisterVirtualPathProvider(new MyVirtualPathProvider()); AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); } 当在Global.asax.cs中注册自定义的VirtualPathProvider之后,将在ZoneRegistration.RegisterAllAreas();或者RegisterRoutes(RouteTable.Routes);方法方法重写VirtualFile GetFile(string virtualPath)将无法用于“虚拟视图”. 更新2 这是否意味着类RazorView和RazorViewEngineRender是答案? 更新3 如果我有文件系统中不存在的剃须刀视图的字符串表示(例如,我在数据库中存储剃刀视图),我可以使用这种方法渲染它http://buildstarted.com/2010/09/28/mvc-3-razor-view-engine-without-a-controller/ 例如,我的视图的字符串表示形式如下所示: "@{ ViewBag.Title = ""About Us""; } <h2>About</h2> <p> Put content here. </p>" 更新4 现在我看,能够使用@ Html.< something>应该实现自定义的TemplateBase. 为了使“公开覆盖T模式”发生,我在“公共抽象类TemplateBase:TemplateBase,ITemplate”中将“public TModel Model”的声明改为“public virtual TModel Model”.可能还有另外一个变化呢?或者HtmlTemplateBase< T>应该做另外一种方式? 解决方法
否,默认情况下不支持从数据库加载视图.您需要编写自己的VirtualPathProvider.
请注意,本博客文章实际上并不直接解决您正在尝试解决的问题.以下博客文章看起来更接近您想要的内容:http://rebuildall.umbraworks.net/2009/11/17/ASP_NET_MVC_and_virtual_views.请注意,如果您尝试在数据库中存储剃刀或aspx视图并不重要. Asp.Net中的虚拟路径提供程序只是将路径映射到作为由该路径表示的文件的内容的字节流. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 在四种解决方案中调试一个网站
- ASP.NET Repeater ItemDataBound事件中等效的Eval(“field”
- asp.net – 在不过度使用meta:resourcekey的情况下本地化W
- 在WebApi Core ConfigureServices中访问services.AddScoped
- JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添
- 在ASP.NET 5项目中运行NUnit测试(在VS Test Explorer中)
- asp.net – 使用FormsAuthentication持久的cookie超时
- asp-classic – 使用VBScript查询Active Directory
- ASP.Net MissingMethodException – 找不到“ctor”方法
- ASP.NET页面之间传值的方式之Application实例详解
- asp.net – 在模板化控件中实现级联DropDownList
- asp.net-mvc-3 – EntityType’x’没有定义键.定
- asp.net – 从Web服务返回XElement
- asp.net-mvc-3 – 在chtml页面中使用UrlHelper的
- asp.net-mvc – ASP.NET MVC – 模型可以有业务逻
- asp.net – 在GridView编辑模式下关闭验证
- asp.net-mvc – Asp.net MVC / Web Api路由:需要
- asp.net core系列 51 Identity 授权(下)
- asp.net-mvc – 如何从控制器获取所有动作名称
- 为ASP.Net AJAX String.format方法创建TypeScrip