有没有办法在.NET应用程序中使用ASP.NET用户控件(.ascx文件)来填充我自己的模板需求,而该应用程序不是一个网站?
它实际上是一个类库,它将数据输入,与模板结合,然后吐出来。
我不想从头开始编写自己的模板系统,所以我希望根据自己的需要重用ASP.NET功能。
我被告知ASP.NET用户控件呈现依赖于IIS。是否有一些黑客或技巧使它在.NET类库中工作?
答案 0 :(得分:2)
这可能对你有用......可能不是你想要的......
Building Re-Usable ASP.NET User Control and Page Libraries with VS 2005
另外看看
Turning an .ascx User Control into a Redistributable Custom Control
答案 1 :(得分: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());
答案 2 :(得分:0)
除Rajsh's answer之外,我想指出Visual Studio有一个web deployment project template,它允许您预编译 .ascx文件到一个程序集中
它简化了您的部署/安装过程。您不必复制/同步新的ascx文件,只需创建DLL。
以下是MSDN article的链接。