0

我使用 N2CMS 版本 2.9.6.8,假设我打开了帐户/登录页面,然后我想点击登录表单下方的订阅链接。

那么,如何获取订阅页面的url来正确构建ahref标签呢?

该网站有多种语言,如果我想以这种方式构建 href 标签:

<a href="@Url.Action("Index", "Subscription")">Wanna subscribe?</a>

我会得到http://mysiteweb.com/Subscription/Index,它会给出一个 400 not found 页面,而不是像http://mywebsite.com/en/subscription之类的东西(带有语言 ID)。

订阅页面已通过管理面板发布,所以我想可以在没有任何硬编码的情况下在其上创建一个 href?

希望我们周围有一个 N2CMS 粉丝..

感谢您的帮助,

大卫

4

1 回答 1

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 一切都会正常工作。

大卫

于 2016-07-18T19:56:58.650 回答