私はVBScriptで以下のコードを持っています
' Retrieve the keyword category for page section names
Set SectionCat = TDSE.GetObject(WebdavToUri(getPublicationWebDav(WEBDAV_SECTION_CAT)), 1)
' Retrieve the localized section keyword
Set SectionKeyword = SectionCat.GetKeywordByTitle(meta)
' Open the English translated section keyword
Set SectionKeyword = TDSE.GetObject(SectionKeyword.Id, 1, WEBDAV_UKEN_PUB)
SectionName = SectionKeyword.Title
WEBDAV_UKEN_PUBがWebDavPathである場合、VBScript の GetObject メソッドには、1) Item.ID、2) TDSDefines.OpenModeEditWithFallback、および 3) オブジェクトを作成する場所からの WebDavPath の 3 つのパラメーターを渡すオプションがあります。
今、私は 2009 .Net テンプレートで同じロジックを書きたいと思っています。以下はサンプル コードです。書き込もうとしていますが、VBScript オブジェクトを取り除くことができません。
Category cat = engine.GetSession().GetObject(WebdavToUri(getPublicationWebDav(Constants.WEBDAV_SECTION_CAT,package,engine), engine)) as Category;
if (cat != null)
{
//_log.Info("Category" + cat.Title);
Keyword keyword = cat.GetKeywordByTitle(meta);
//_log.Info("keyword 1" + keyword.Title);
keyword = engine.GetObject(Constants.WEBDAV_UKEN_PUB) as Keyword;
//_log.Info("keyword 2 " + keyword.Title);
if (keyword != null)
{
sectionName = keyword.Title;
}
keyword = null;
Category オブジェクトを作成することはできますが、Keyword オブジェクトを作成しようとすると、失敗してオブジェクト参照エラーが発生します。
渡された webdavpath からオブジェクトを作成する VBScript GetObject と同じように機能するクラスまたはメソッドはありますか、または誰かがこれに関するサンプル コードを提供できますか。