如何使用C#来获得在SharePoint的多行文本字段值 [英] How to get the text value from Multiline text field in sharepoint using C#

查看:781
本文介绍了如何使用C#来获得在SharePoint的多行文本字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试过这个程式码:

  using(SPSite oSite = new SPSite(http:// omar:2020 / Lists /Calendar1/AllItems.aspx))
{
using(SPWeb oWeb = oSite.OpenWeb())
{
SPList oList = oWeb.Lists [Calendar];
SPListItem item = oList.GetItemById(7);

txtArea_desc.InnerText = item [Description]。ToString();

}
}

但它给了我class =



有任何建议吗?

解决方案内容类型具有以下声明:


>

 < Field ID ={9da97a8a-1da5-4a77-98d3-4bc10456e700}
Type =Note
RichText = TRUE
Name =Comments
Group =_ Hidden
DisplayName =$ Resources:core,Comments;
Sortable =FALSE
SourceID = http://schemas.microsoft.com/sharepoint/v3
StaticName =Comments>
< / Field>

由于 RichText 属性设置为true,它的值包含html内容。



使用 SPField.GetFieldValueAsText方法以获取纯文本的字段值。



示例 p>

  using(var site = new SPSite(siteUrl))
{
using(var web = site.OpenWeb ())
{
var list = web.Lists.TryGetList(listTitle);
var item = list.GetItemById(itemId);
var eventDescField = list.Fields.GetFieldByInternalName(Description);
var eventDesc = item [eventDescField.Id];
var eventDescText = eventDescField.GetFieldValueAsText(eventDesc);

}
}


I tried this code:

using (SPSite oSite = new SPSite("http://omar:2020/Lists/Calendar1/AllItems.aspx"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPList oList = oWeb.Lists["Calendar"];
        SPListItem item = oList.GetItemById(7);

        txtArea_desc.InnerText = item["Description"].ToString();

    }
}

But it gave me "class="ExternalClassD6E6296DE90F457892C156ABE9631AC6Hello" in the TextArea.

Any suggestions please?

解决方案

Description field in Event content type has the following declaration:

<Field ID="{9da97a8a-1da5-4a77-98d3-4bc10456e700}"
    Type="Note"
    RichText="TRUE"
    Name="Comments"
    Group="_Hidden"
    DisplayName="$Resources:core,Comments;"
    Sortable="FALSE"
    SourceID="http://schemas.microsoft.com/sharepoint/v3"
    StaticName="Comments">
</Field> 

Since RichText attribute is set to true, it's value contains html content.

Use SPField.GetFieldValueAsText Method to get the field value as plain text.

Example

using (var site = new SPSite(siteUrl))
{
    using (var web = site.OpenWeb())
    {
        var list = web.Lists.TryGetList(listTitle);
        var item = list.GetItemById(itemId);
        var eventDescField = list.Fields.GetFieldByInternalName("Description");
        var eventDesc = item[eventDescField.Id];
        var eventDescText = eventDescField.GetFieldValueAsText(eventDesc);

    }
}

这篇关于如何使用C#来获得在SharePoint的多行文本字段值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆