【发布时间】:2016-05-05 12:37:46
【问题描述】:
在其他 Stackoverflow 用户的帮助下,我的解决方案已经取得了一些进展,但已经停止。
我想在 app_code .cshtml 文件中构建一些通用类,例如从函数的文档中返回属性值,例如
public static string docFieldValue(int docID,string strPropertyName){
var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
var strValue = "";
try{
strValue = umbracoHelper.Content(docID).GetPropertyValue(strPropertyName).ToString();
}
catch(Exception ex){
strValue = "Error - invalid document field name (" + strPropertyName + ")";
}
var nContent = new HtmlString(strValue);
return nContent;
}
这适用于从文档中返回一个字段(即属性)。但是,如果我想返回 2 个或更多,理想情况下,我会将返回的节点存储在变量或类中,然后能够重复获取属性值,而无需每次调用都查找文档 即无需调用
umbracoHelper.Content(docID).GetPropertyValue(strPropertyName).ToString();
每次使用不同的 strPropertyName 参数,我认为这意味着从数据库中多次读取)。
我试图建立一个类,它的属性来保存返回的节点
using Umbraco.Web;
using Umbraco.Core.Models;
...
public static Umbraco.Web.UmbracoHelper umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
public static IPublishedContent docNode;
...
docNode = umbracoHelper.Content(docID);
但这会使代码崩溃。我可以将节点存储在类的属性中吗?如果可以,它是什么类型?
【问题讨论】:
标签: class umbraco umbraco7 app-code