gpt4 book ai didi

razor - 从外部存储的 .cshtml 解析 Rarzor Html Helper

转载 作者:行者123 更新时间:2023-12-03 19:11:30 27 4
gpt4 key购买 nike

在我的网站上,我有很多内容页面。其中大部分是纯文本,但有些确实包含链接和类似内容。我使用 wordpress 作为我的后端 cms,我在其中存储页面的主体并使用 webrequests 我将帖子的内容加载到通用的 ContentModel 中:

public class WordPressPostModel
{
public string Title;
public string Content;
public string postId;
public string slug;
public string lang;
public string CategorySlug;
public DateTime CacheDate = new DateTime();
public bool NotFound = true;

public WordPressPostModel()
{

}
}

如果我可以将返回的内容视为(部分)cshtml View 并呈现 ActionLinks 和其他 Html Helpers,那就太棒了。有办法做到这一点吗?

解决方案 按照 Darin 的建议使用 RazorEngine:

由于 Razor 引擎不支持 html 助手,您必须通过从自定义模板库内部调用它们来解决这个问题,例如

public abstract class MyCustomTemplateBase<T> : TemplateBase<T>
{

public string ActionLink(string linkText, string actionName, string controllerName)
{
string link = HtmlHelper.GenerateLink(HttpContext.Current.Request.RequestContext, RouteTable.Routes, linkText, "Default", actionName, controllerName, null, null);
return link;
}
}

然后像这样使用它:

    Razor.SetTemplateBase(typeof(MyCustomTemplateBase<>));
string raw = HttpUtility.HtmlDecode(Content);
string result = Razor.Parse(raw, this);

最佳答案

你可以看看RazorEngine .

关于razor - 从外部存储的 .cshtml 解析 Rarzor Html Helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6854693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com