1

我有一个 ASP.NET 网站项目,其中混合了可更新页面和不会更改的页面。

我是否可以预编译某些包含不会更新的页面/控件的目录?

如果是这样,我怎么能这样指定这些目录?

编辑 2009.12.17

我的项目结构如下:

/cms_pages ==> 标记为 CompilationMode="never" 且没有代码文件的可更新 .aspx 页面。

/app_pages ==> 带有 .aspx.cs 代码文件的 .aspx 页面。

/controls ==> 带有 .ascx.cs 代码文件的 .ascx 控件。

我想“预编译” app_pagescontrols文件夹。

有可能吗?

4

3 回答 3

0

您不能将所有控件(可能还有其他任何东西)预编译到程序集中,然后您可以通过 myAssembly.myControl 访问它们

 Dim assembly As Reflection.Assembly = Reflection.Assembly.LoadFrom(Server.MapPath(Virtual path to assembly))

Dim myControlType As Type = assembly.GetType Dim myControl As UserControl = LoadControl(myControlType, Nothing) myPanel.Controls.Add(myControl)

或者

Dim myControl As Control = LoadControl(virtual path to control)
myPanel.Controls.Add(myControl )

希望这可以帮助..

于 2010-05-09T20:48:36.500 回答
0

并非没有很多头痛。您现在如何预编译页面?他们必须在 WAP 中才能工作……所以你不想预编译的任何东西都可以从项目中删除。

[编辑]

可以手动调用 asp.net 编译器。但我不推荐这个。您真正需要做的是将您的解决方案文件拆分为不同的项目……将您想要预编译的文件放入 Web 应用程序项目或只是一个常规类库。然后在您的网站中添加对该 WAP 的项目引用。

于 2009-12-14T23:48:38.087 回答
0

你想用它们的代码文件编译你的 ASPX 页面还是只在你的 App_Code 文件夹中编译一些 .cs 文件?

如果您只是想对某些静态函数或全局对象进行版本控制,您可以编译一个 DLL 以保存在您的 App_Code 文件夹中。

于 2009-12-15T02:10:38.827 回答