0

有没有一种方法可以使用 ASP.NET 用户控件(.ascx 文件)来满足我自己在 .NET 应用程序中的模板需求,而无需将该应用程序作为网站?

它实际上是一个类库,它将接收数据,将其与模板组合,然后将其吐出。

我不想从头开始编写我自己的模板系统,所以我希望重新使用 ASP.NET 功能来满足我的需要。

有人告诉我 ASP.NET 用户控件渲染依赖于 IIS。是否有一些技巧可以让它在 .NET 类库中工作?

4

3 回答 3

2

这可能对你有用......可能不是你正在寻找的......

使用 VS 2005 构建可重用的 ASP.NET 用户控件和页面库

也看看

将 .ascx 用户控件转换为可再发行的自定义控件

于 2009-01-14T04:30:04.627 回答
1

我不完全确定我是否正确地关注了这个问题,但如果你只是在寻找一个模板引擎,你可能想查看NVelocity,它是 Castle Project 的一部分。

它允许您创建这样的模板(摘自他们在网站上的入门指南):

From: $from
To: $to
Subject: $subject

Hello $customer.Name

We're please to yada yada yada.

然后像这样推广它:

Template template = velocity.GetTemplate(@"path/to/myfirsttemplate.vm");
VelocityContext context = new VelocityContext();
context.Put("from", "somewhere");
context.Put("to", "someone");
context.Put("subject", "Welcome to NVelocity");
context.Put("customer", new Customer("John Doe") );

StringWriter writer = new StringWriter();
template.Merge(context, writer);
Console.WriteLine(writer.GetStringBuilder().ToString());
于 2009-01-14T04:58:24.897 回答
0

除了Rajsh 的回答,我想指出 Visual Studio 有一个Web 部署项目模板,它允许您将.ascx 文件预编译到单个程序集中。

它简化了您的部署/安装过程。您不必复制/同步新的 ascx 文件,只需创建 DLL。

这是MSDN 文章的链接。

于 2009-01-14T07:34:46.063 回答