我使用N2CMS版本2.9.6.8,假设我打开了帐户/登录页面,然后我想点击登录表单下方的订阅链接。
那么,如何获取订阅页面的url以正确构建ahref标签?
该网站有多种语言,如果我想以这种方式构建href标记:
<a href="@Url.Action("Index", "Subscription")">Wanna subscribe?</a>
我将获得http://mysiteweb.com/Subscription/Index,这将提供400找不到的页面而不是http://mywebsite.com/en/subscription(具有语言ID)。
Subscription页面已经通过管理面板发布了,所以我想可以在没有任何硬编码的情况下在其上创建一个href?
希望我们有一个N2CMS粉丝..
感谢您的帮助,
大卫
答案 0 :(得分:0)
我终于找到了答案。您将能够使用CMS提供的API获取完整的URL。
例如,假设您有一个名为ChangePasswordViewModel的控件,它继承自ContentItem,那么您就拥有了相关的控制器。无论当前语言如何,您都可以通过以下方式获取完整的URL:
@{
var item = Find.Items
.Where.Type.Eq(typeof(ChangePasswordViewModel)).And.State.Eq(ContentState.Published)
.Select().SingleOrDefault();
}
然后<a href="@item.Url">Change password</a>
总而言之,不要忘记在管理面板部分添加ChangePasswordViewModel控件,一切都可以正常使用API。
大卫