我正在尝试在Umbraco内创建预订系统,以便在我的网站上提交预订表格后,它还会在Umbraco后端创建一个新节点供参考。是否有可能只使用剃须刀?如果没有,我该如何创建此功能?
我目前正在处理从Umbraco文档中向我建议的以下代码(通过在发送成功时运行的代码块中添加它),但我的剃刀脚本错误:
using umbraco.BusinessLogic;
using umbraco.cms.businesslogic.web;
DocumentType dt = DocumentType.GetByAlias("Textpage");
User author = User.GetUser(0);
Document doc = Document.MakeNew("My new document", dt, author, 1018);
我正在使用Umbraco v4.7.1.1并收到以下错误:“无法找到类型或命名空间名称'DocumentType'(您是否缺少using指令或程序集引用?)”。
如果我将@s添加到命名空间,我会得到错误:'System.Security.Principal.IPrincipal'不包含'GetUser'的定义,也没有扩展方法'GetUser'接受'System'类型的第一个参数可以找到.Security.Principal.IPrincipal'(您是否缺少using指令或程序集引用?)
答案 0 :(得分:4)
using语句需要在你的剃刀代码块之外:
@using umbraco.BusinessLogic;
@using umbraco.cms.businesslogic.web;
@{
DocumentType dt = DocumentType.GetByAlias("Textpage");
User author = User.GetUser(0);
Document doc = Document.MakeNew("My new document", dt, author, 1018);
}
答案 1 :(得分:1)
请尝试在类中使用完整的命名空间,而不是使用 using 语句。
E.g。 umbraco.cms.businesslogic.web.DocumentType
接下来还尝试在Visual Studio中打开解决方案。 这样,您将获得名称空间的IntelliSense。