今天尝试用代码往SPList里追加一条数据,意外的碰到一个“非主流”的列(URLSPField),应该说是小弟学艺未精,调查了毛一个小时还是不知道怎么输入。后来在前辈的指引下算是找到了方法。写下来加深记忆。

      目标SPListItem里有一个自定义列SPField),取了个名字叫“URL”,选择的类型是“ハイパーリンクまたは画像”不知道中文应该怎么说,列的SPFieldType应该是【URL】。这个列显示的是URLTitle,点击之后会链接到事先输入的URL去。

      普通往SPListItem里追加数据非常简单,参考MSDNhttp://msdn.microsoft.com/en-us/library/ms470423.aspx),摘录代码如下
SPSite oSiteCollection = SPContext.Current.Site;

SPList oListSrc = oSiteCollection.AllWebs["Destination_Site"].Lists["Destination_List"];

SPListItemCollection collListItemsDest = oListSrc.Items;

SPListItem oListDest = collListItemsDest.Add();

oListDest["Field1_Name"] = "Scenario 2";

oListDest["Field2_Name"] = 45;

oListDest["Field3_Name"] = "A sample note for this item.";

oListDest.Update();

      但如果碰到URL类型则要往一个Field里面添加两条数据,这个东西不知道内部存储机制还真难下手。其实sharepoint里很多数据之间都仅仅用很简单的符号来区分,像访问群体间就是用;;隔开,域用户间就用“"n”隔开等等。而这里的两条数据之间,就是使用了“, ”(注意逗号后面有个单字节空格)来分隔。下面看代码吧

代码实现:

oListDest["URL"] = "<Title>, <URL>";

(具体还请参考上面的从MSDN上剽窃来的代码吧~^^)

 

追记: 感谢【bmy_light 】的热情回复~。上文所提及的输入方法可以用WSS3.0 SDK中的方法SPFieldUrlValue 来替代。

相关文章:

  • 2021-12-23
  • 2021-10-06
  • 2021-11-05
  • 2021-09-21
  • 2021-05-31
  • 2021-09-30
  • 2022-01-29
猜你喜欢
  • 2021-11-16
  • 2022-12-23
  • 2021-04-02
  • 2021-04-11
  • 2021-06-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案