如何取到MOSS列表中item的链接

SPListItemUrl属性返回的不是绝对路径,形式如下面:

http://cary/Lists/Discussion/itemtitle

这种形式是不能作为链接打开的,很多时候我们在取到这个item的同时还要得到这个itemurl,比如你筛选出列表中指定的数据并发邮件给相关人员的时候,在邮件的内容中就需要有个这个item的链接。

 

Moss中提供了一个PAGETYPE枚举,具体如下表:

 

名称  描述

 PAGE_DEFAULTVIEW  Default view. Value=0. 

 PAGE_DIALOGVIEW  File dialog box view. Value=2. 

 PAGE_DISPLAYFORM  Display form for list items. Value=4. 

 PAGE_DISPLAYFORMDIALOG  Display form for a file dialog box. Value=5. 

 PAGE_EDITFORM  Edit form for list items. Value=6. 

 PAGE_EDITFORMDIALOG  Edit form for a file dialog box. Value=7. 

 PAGE_INVALID  Not used. Value= -1. 

 PAGE_MAXITEMS  Not used. Value=11. 

 PAGE_NEWFORM  New form for list items. Value=8. 

 PAGE_NEWFORMDIALOG  New form for a file dialog box. Value=9. 

 PAGE_NORMALVIEW  Normal view. Value=1. 

 PAGE_SOLUTIONFORM  Solution form. Value=10. 

 PAGE_VIEW  View, including both default view and normal view. Value=3. 

 

我们就可以通过如下代码来得到item的链接:

SPList list = site.Lists.GetList("/Lists/Discussion ");

SPListItem item = list.Items[id];

String strUrl=list.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url + "?ID=" + item.ID

 

利用这个可以得到下面形式链接:

http://cary/Lists/Discussion/DispForm.aspx?ID=680

这个就可以作为链接打开了.

 

附录:

 

            DataTable dt = new DataTable();

            dt.Columns.Add("标题");

            dt.Columns.Add("路径");

           

            SPSite site = new SPSite("http://sharepoint02:9003");

            SPWeb web = site.OpenWeb();

            SPList list = web.GetList("/Lists/List1");

            String strUrl = "";

            for (int i = 0; i < list.Items.Count; i++)

            {

                strUrl = list.Forms[PAGETYPE.PAGE_DISPLAYFORM].Url + "?ID=" + list.Items[i].ID;

                DataRow dr = dt.NewRow();

                dr["标题"] = list.Items[i].Title;

                dr["路径"] = "<a href='/" + strUrl + "'>" + list.Items[i].Title + "</a>";

                dt.Rows.Add(dr);

            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值