【问题标题】:Sitefinity MVC: How to get the content item Url in Detail view of the widget templateSitefinity MVC:如何在小部件模板的详细视图中获取内容项 Url
【发布时间】:2021-07-15 03:20:24
【问题描述】:

我有一个带有自定义列表和详细信息小部件模板的自定义模块。在我的列表小部件模板中,我可以通过以下方式获取内容项 url:

@foreach (var item in Model.Items)
{
 var navigateUrl = HyperLinkHelpers.GetDetailPageUrl(item, ViewBag.DetailsPageId, ViewBag.OpenInSamePage, Model.UrlKeyPrefix); 
}

然后:

<a href="@navigateUrl">

为什么我不能在我的 Detail 小部件模板中执行相同的操作并获取完整内容的 Item url?在 MVC 的 Detail 小部件模板中是否有其他方法可以获取页面的完整 Url?

我收到这些构建错误:

CS1061“ContentDetailsViewModel”不包含“Items”的定义,并且找不到接受“ContentDetailsViewModel”类型的第一个参数的可访问扩展方法“Items”(您是否缺少 using 指令或程序集引用?)

CS1061“ContentDetailsViewModel”不包含“UrlKeyPrefix”的定义,并且找不到接受“ContentDetailsViewModel”类型的第一个参数的可访问扩展方法“UrlKeyPrefix”(您是否缺少 using 指令或程序集引用?)

CS0103 当前上下文中不存在名称“navigateUrl”

【问题讨论】:

    标签: asp.net-mvc sitefinity


    【解决方案1】:

    因此,如果您需要自己实现,请使用其中一种重载 https://github.com/Sitefinity/feather/blob/8c0bcde57c27322d48084485694f32e0714d15ee/Telerik.Sitefinity.Frontend/Mvc/Helpers/HyperLinkHelpers.cs#L32

    但是用例是什么,您需要当前的 url,或者它就像是相关的内容部分或其他东西?

    旁注,你可以在这里浏览代码

    https://github.com/Sitefinity/feather-widgets https://github.com/Sitefinity/feather https://github.com/Sitefinity/feather-packages

    【讨论】:

    • 嗨史蒂夫,谢谢你,我会检查这些。我正在尝试使用内容项的标题和 url 构建社交共享图标,预先填充在我的详细信息页面的代码中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    相关资源
    最近更新 更多