代码之家  ›  专栏  ›  技术社区  ›  Ryan Eastabrook

Sharepoint默认列表项详细视图

  •  3
  • Ryan Eastabrook  · 技术社区  · 17 年前

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

    1 回复  |  直到 17 年前
        1
  •  6
  •   Lloyd Cotten    17 年前

    看一看 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 以便用户在单击“编辑”或“显示”窗体上的“取消/关闭”按钮时,将被重定向回他们离开的页面。