日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SPField的几种name的释疑

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPField的几种name的释疑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫SharePoint Object Model代碼時, 經常要用到SPField. 這個SPField有不少名字, 讓人很容易混淆.

  • Display Name
  • Internal Name
  • Name
  • ColName
  • StaticName

下面就讓我們總結一下吧.

?

你可以使用下面的代碼把列表的FieldSchema撈出來看一下.

using (SPSite site = new SPSite("http://servername/sites/testsite")) {using (SPWeb web = site.OpenWeb()){SPList splist = web.Lists["issue tracking1"];FileStream fs = new FileStream(@"C:\temp\listschema.xml", FileMode.Create);StreamWriter sw = new StreamWriter(fs);sw.Write(splist.Fields.SchemaXml);} }

?

這個文件比較大, 我就抽選兩個Field來作為例子:

<Field ID="{1df5e554-ec7e-46a6-901d-d85a3881cb18}" ColName="tp_Author" RowOrdinal="0" ReadOnly="TRUE" Type="User" List="UserInfo" Name="Author" DisplayName="Created By" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="Author" FromBaseType="TRUE"/>

<Field ID="{3881510a-4e4a-4ee8-b102-8ee8e2d0dd4b}" ColName="tp_CheckoutUserId" RowOrdinal="0" ReadOnly="TRUE" Type="User" List="UserInfo" Name="CheckoutUser" DisplaceOnUpgrade="TRUE" DisplayName="Checked Out To" SourceID="http://schemas.microsoft.com/sharepoint/v3" StaticName="CheckoutUser" FromBaseType="TRUE"/>

?

這里可以看到這個field的全部信息, 如果你對某個列表的field的某個名字不清楚, 可以使用撈xml的大招來釋疑.

我寫過一篇文章, 叫做SPQuery 在引用field的時候要用internal name, 那么SPQuery用到的Internal Name是哪一個呢?

?

Name = Internal NameDisplay NameColNameStaticName
SPQuery使用的名字界面上顯示的名字數據庫中對應的列名不知道做什么的, 看了好幾個都與Name, Internal Name一樣.
CheckoutUserChecked Out Totp_CheckoutUserIdCheckoutUser
AuthorCreated Bytp_Author?
????

?

應用

================

讀寫Field時

?

寫代碼時應用如下:

SPListItemCollection oitems = splist.Items;foreach (SPListItem oitem in oitems){//Use display name here.string oAutorStr = oitem["Created By"].ToString();Console.WriteLine();}

?

===========================

編寫SPQuery時

?

對應的代碼如下:

SPQuery query = new SPQuery();query.Query = "<Where>" +"<Eq>" +"<FieldRef Name='StatusInternal'/>" +"<Value Type='Text'>Good</Value>" +"</Eq>" +"</Where>";SPListItemCollection items = splist.GetItems(query);

?

以上代碼均通過了測試.

?

注意, 如果是在頁面中使用javascript調用web service來查詢list item, 那么通常返回結果中XML里, field的名字會在前面加上ows_前綴

?

如果您覺得清楚了, 那我的功夫就沒白費. 呵呵.

總結

以上是生活随笔為你收集整理的SPField的几种name的释疑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。