0
我正在尝试构建一个简单的“用户模板”系统,以便我的用户可以编辑RSS提要项目和系统生成的电子邮件的布局,而不会混淆视图文件等。这是我使用的内容替换字符串的标签功能:用简单模板系统中的内容替换标签
private const string URL_TAG_REGEX = @"{{(?<TagName>\w*)}}";
private static string ReplaceTags(string content,
Dictionary<string, object> values) {
Regex r = new Regex(UT_TAG_REGEX);
foreach (string tag in values.Keys) {
content = r.Replace(content,
m => (m.Groups["TagName"].Value == tag ?
values[tag].ToString() : string.Empty));
}
return content;
}
我的测试模板看起来是这样的:
<a href="{{link}}">{{title}}</a> - {{date}}<br />
{{description}}
,并正在与此渲染:
<%= UserTemplates.Render("overview_rss_item", new {
link = item.Link,
title = item.Title,
date = item.PublishDate,
description = item.Description
}) %>
Render方法负责打开文件并将匿名对象转换为字典。它主要工作,除了只有{{link}}标签被匹配。其余的正在被string.Empty取代。
你是什么实际问题? – Morendil 2009-02-12 20:55:42