当前位置:  开发笔记 > 后端 > 正文

ASP.NET MVC:如何在MVC应用程序中使用静态HTML页面?

如何解决《ASP.NETMVC:如何在MVC应用程序中使用静态HTML页面?》经验,为你挑选了1个好方法。

在我正在处理的应用程序中,我想允许用户上传静态HTML页面以替换默认的"用户配置文件"MVC视图页面.这可能吗?也就是说,用户上传的html页面将完全用完MVC,并且它可以包含自己的CSS链接等.

想法?建议?



1> Ian..:

显然.net MVC框架已经为images/css/js等处理静态内容.这只是扩展(路由?)以将.html文件直接传递给IIS的问题.再加上一些重写来制作更漂亮的网址应该可以解决问题.

但是,当您离开非常宽的门时,我会非常非常警惕以原始HTML上传的形式允许用户生成的内容.充其量,你最终会收到垃圾/色情/广告的人们的页面.在最糟糕的情况下,您将为人们提供上传跨站点脚本黑客的网关,并可能上传恶意内容以破坏您的网站.可以轻松地在您的网站上获取现有表单,将大量垃圾硬编码到其中,并从其主页中对其进行处理并打破一大堆内容.

至少你应该解析上传的内容,将其简化为一个内容块,然后将其包装在你自己的内容中.我个人更倾向于为用户提供一个漂亮的WYSIWYG编辑器来编辑一个单一内容块 - 任何值得它的编辑都应该为你提供关于它包含/排除的元素的清洁.然后将此内容片段存储在数据库/光盘上,并让主页的请求通过标准MVC控制器路由并加载该内容.


编辑 - 为您请求示例您应该能够在路由中添加一个忽略规则 - 可能已经有这些示例 - 破解打开您的Global.asax文件 - 您将要调用路由. IgnoreRoute方法:

routes.IgnoreRoute("UserPages/{*path}");

应该让IIS处理对yourwebsite.com/UserPages/aUser/homepage.html的所有请求 - 您还可以使用通配符片段/约束更多地使用更漂亮的解决方案

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有