You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sitefinity博客自定义URL获取:MVC视图如何提取该字符串

解决Sitefinity MVC视图中提取博客文章自定义URL段的问题

嘿,我之前在Sitefinity项目里也遇到过一模一样的问题!确实,ItemViewModel作为通用视图模型,并没有直接暴露自定义URL的字符串属性,但我们可以通过访问底层的原生博客文章对象来拿到它。

具体操作步骤:

  1. 转换底层内容对象:ItemViewModel的Item属性对应着内容类型的原生实例(这里就是BlogPost对象),我们只需要把它转换成BlogPost类型即可。
  2. 获取自定义URL段:你在编辑博客文章时设置的自定义URL字符串,其实存储在BlogPost的UrlName属性里——不管是手动输入的自定义值,还是系统自动生成的标题衍生值,这个属性都会准确返回对应的URL段。

视图代码示例:

如果是强类型视图(比如@model ItemViewModel<BlogPost>),可以直接写:

<p>自定义URL段:@Model.Item.UrlName</p>

如果是通用的ItemViewModel视图,需要先做类型转换:

@model Telerik.Sitefinity.Frontend.Mvc.Models.ItemViewModel

@{
    var blogPost = Model.Item as Telerik.Sitefinity.Blogs.Model.BlogPost;
    if (blogPost != null)
    {
        // 这里拿到的就是你要的自定义URL字符串
        var customUrlSegment = blogPost.UrlName;
        <p>自定义URL段:@customUrlSegment</p>
    }
}

补充说明:

  • UrlName属性返回的就是编辑界面「URL」字段里的纯自定义字符串,不会包含站点前缀、页面路径等额外内容,完全符合你不想用HyperLinkHelpers.GetDetailPageUrl生成完整URL的需求。
  • 如果你的项目里还有其他内容类型(比如新闻、自定义内容)需要提取自定义URL段,逻辑是一样的——把Item转换成对应的原生内容类型,然后访问UrlName属性即可。

内容的提问来源于stack exchange,提问作者Randy Hall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:36:08