Kle*_*rBH 4 asp.net-mvc umbraco umbraco7
我有一个自定义控制器来发送消息.所以我需要获取属性字段名称和alias ="email"的值,这将用于发送电子邮件到.
以下代码有效
var id = umbraco.uQuery.GetNodeByUrl("/contact-us");
IPublishedContent root = Umbraco.TypedContent(id.Id);
return root.GetProperty("email", true).Value.ToString();
Run Code Online (Sandbox Code Playgroud)
但问题是,如果页面名称发生更改,则URL将更改,代码将中断.
那么如何更改上面的代码以获取当前页面ID并将其插入此处(???);?
我认为代码应该是这样的:
IPublishedContent root = Umbraco.TypedContent(???);
return root.GetProperty("email", true).Value.ToString();
Run Code Online (Sandbox Code Playgroud)
任何帮助将得到赞赏
ant*_*tao 10
如果您有超过1个'ContactUs'节点,或者没有,那么您的解决方案将带来问题.然后你不知道会得到哪一个.
(实际上它是在节点树中找到的第一个,但是有人可以改变它们的顺序...)
你的控制器是Surface控制器吗?你可以这样做:
IPublishedContent currentNode = Umbraco.TypedContent(CurrentPage.Id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11155 次 |
| 最近记录: |