Asp.net Umbraco:加载文档后渲染服务器端脚本
我有一个基于.NET和Razor的脚本,它在任何html元素呈现之前立即呈现在网页上。除了MySQL查询外,该脚本仅使用以下命令在屏幕上写入部分数据:Asp.net Umbraco:加载文档后渲染服务器端脚本,asp.net,razor,umbraco,Asp.net,Razor,Umbraco,我有一个基于.NET和Razor的脚本,它在任何html元素呈现之前立即呈现在网页上。除了MySQL查询外,该脚本仅使用以下命令在屏幕上写入部分数据: Response.Write("Some data"); 我使用的是Umbraco v4.7.2,希望在加载整个文档后,脚本能够呈现我插入宏的位置。我已尝试将脚本包装到事件处理程序中,类似于以下内容,但这无法识别,并导致整个脚本呈现为文本: protected void Page_LoadComplete(object sender, Even
Response.Write("Some data");
我使用的是Umbraco v4.7.2,希望在加载整个文档后,脚本能够呈现我插入宏的位置。我已尝试将脚本包装到事件处理程序中,类似于以下内容,但这无法识别,并导致整个脚本呈现为文本:
protected void Page_LoadComplete(object sender, EventArgs e) {
Response.Write("Page Load Complete!");
}
事件处理程序似乎经常被使用,但我不太了解Umbraco文档,在我的razor脚本中是否有一些我需要参考的内容,以便它们呈现?是否有需要参考的“cs”文件
我还尝试使用“RenderEvent”属性,基于我的脚本,该属性似乎没有任何作用。Umbraco事件主要用于处理API;当文档被保存、发布、删除等时 使用不同的方法,您可以构建一个Umbraco基类,然后在加载时通过Javascript AJAX调用将结果拉下来。Umbraco base允许您快速构建REST扩展,允许您通过API访问Umbraco 下面是一个示例基类:
using umbraco.presentation.umbracobase;
namespace BaseExample
{
[RestExtension("MyAlias")]
public class TestClass
{
[RestExtensionMethod(allowAll = true)]
public static string GetData()
{
return "Some data";
}
}
}
有关更详细的说明,请参阅。将基类的DLL放入
bin
目录后,可以通过导航到http://[domain]/base/MyAlias/GetData
来调用该方法。默认情况下,该方法将返回XML,但为了更容易地将其与Javascript集成,可以让它返回JSON。查看更多详细信息。我终于找到了最简单的解决方案;使用@Html.Raw()而不是Response.Write(“一些数据”)完成了我需要做的事情。不幸的是,我对Razor了解不够,无法自信地回答。对于传统的WebForms,我建议使用文字来放置代码。但是这个答案有用吗谢谢你的建议,这看起来对我有帮助!