Sharepoint默认列表项详细信息视图

时间:2008-12-03 18:31:33

标签: sharepoint web-parts

我有一个webpart,它以指定的格式呈现随机列表项(来自任何列表和列表类型)。我希望webpart中显示的项目链接到他们的ListItem详细信息视图。但是,我没有看到列表本身的属性会告诉我哪个视图是列表的默认DETAIL视图(即博客列表详细信息是Post.aspx)。这是否来自列表定义?我如何以编程方式获取该信息?我试图避免基于列表类型对任何列表信息进行硬编码。

1 个答案:

答案 0 :(得分:6)

查看SPList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url

我认为这就是你要找的东西。您需要在查询字符串上附加SPListItem.ID,以便它知道要显示的列表项。

using (SPWeb myWeb = GetMyWeb()) // GetMyWeb gets a reference to a SPWeb object
{
    SPList myList = GetMyList(myWeb); // GetMyList gets a reference to a SPList object
    SPListItem myItem = GetMyListItem(myList); // GetMyListItem gets a reference to a SPListItem object
    string url = String.Format("{0}/{1}?ID={2}",
        myWeb.Url,
        myList.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url, 
        myItem.ID);
}

&Source=/url/to/current/page附加到查询字符串也是一种很好的做法,这样当用户点击编辑或显示表单上的取消/关闭按钮时,用户将被重定向回他们离开的页面。