2009-01-14 48 views
0

在.NET应用程序中使用ASP.NET用户控件(.ascx文件)来填充自己的模板需求,而不是该应用程序是网站吗?在没有Website项目的情况下使用ASP.NET usercontrols进行模板化?

它实际上是一个类库,它将数据放入模板中,然后将其与模板混合,然后吐出。

我不想从头开始写自己的模板系统,所以我正在寻找重用ASP.NET功能来满足我的需求。

有人告诉我,ASP.NET用户控件呈现依赖于IIS。是否有一些黑客或诡计让它在.NET类库中工作?

回答

1

我不完全确定我是否正确地处理了这个问题,但如果您只是在寻找一个模板引擎,您可能需要查看NVelocity,这是Castle Project的一部分。

它允许你创建这样的一个模板(从入门指南撕开网站上):

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

Hello $customer.Name 

We're please to yada yada yada. 

然后propulate它像这样:

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()); 
相关问题