我想在多个ASP.Net MVC项目中重用*.aspx文件.这可能吗?
编辑:Anthony建议使用版本控制系统在多个项目中共享公共文件,以实用的方式解决了我的问题.幸运的是,因为我正在使用Subversion,所以解决方案适合我.但是,如果我没有使用它,这个问题怎么还能解决?
可以这样做吗?
使用VS的网站预编译功能构建可再发行的用户控件.(如所描述的在这里).
引用所需项目中的输出程序集.
创建一个修改后的View引擎,通过泛型类型参数实例化用户控件.
然后我们构造这样的控制器动作:
public ActionResult Shared() { return View(); }
这看起来有可能吗?
你可以尝试的一个想法是:
为共享视图创建项目(类库)
在"属性"窗格中添加和设置任何*.aspx标记页面到" 嵌入资源 "
添加一个继承自ActionResult的类"EmbeddedViewResult" - 这将包含逻辑,以确保在控制器操作结束时调用时,在磁盘上提取并提供嵌入的.aspx文件.
因此,在您希望使用共享视图的项目中,控制器操作可能会返回类似的内容
public ActionResult Shared() { return new EmbeddedViewResult("SharedLib.SharedPage"); }
我已经用WebForms页面做了类似的事情,所以它应该是可能的.