gpt4 book ai didi

c# - ParseControl 不支持内联代码块的解决方法?

转载 作者:行者123 更新时间:2023-11-30 15:43:04 25 4
gpt4 key购买 nike

我在 ASP.Net 中使用 ParseControl 方法来呈现一些来自外部数据源的混合 HTML 和服务器控制代码。

这运行良好,但是 ParseControl 似乎不支持内联脚本 block (<% %>),我想知道是否有一个简单的替代方案或解决方法?这是一个简单的示例(现实世界的实现更为复杂):

string externalCodeString = "<div><%= DateTime.Now %></div>";
Control control = ParseControl(externalCodeString);
placeholder.Controls.Add(control);

最佳答案

ParseControl 确实不支持代码块,因为它永远不会导致任何编译。

一种应该可行但更复杂的方法是改为依赖由 VirtualPathProvider 提供的 UserControl。

理论上您可以将其包装到像 ParseControl 这样的简单 API 中,但它实际上会编译用户控件。

您必须进行适当的缓存,以确保您不会在每次调用时都进行编译,这会破坏性能。

动态语言会更适合这样的事情:)

关于c# - ParseControl 不支持内联代码块的解决方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7063861/

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