2010-03-30 68 views
1

任何人都可以告诉我如何找出SPField对象是富文本框还是普通文本框?如果它是一个富文本框,那么我想使用GetFieldValueAsHtml,否则我想使用GetFieldValueAsText方法。我已经看过SPField.Type,但我不是盲人(非常可能),或者只是有一个代表所有文本字段的Text选项。如何判断SPField是富文本框还是普通文本框?

回答

3

你可以使用TypeAsString属性吗?其他人似乎有issues找到类型。

string fieldType = spField.TypeAsString; 
+0

这并不真正发挥作用。我发现多行文本框是SPFieldType.Note所以如果字段是这个我使用HTml返回,否则我返回值为文本 – Paul 2010-03-31 08:00:35

1
private bool IsRichTextField(SPListItem item, string fieldName) 
{ 
    bool isRichText = false; 

    if (item.Fields.ContainsField(fieldName) && item.Fields[fieldName] is SPFieldMultiLineText) 
    { 
     var multiLineField = item.Fields[fieldName] as SPFieldMultiLineText; 
     isRichText = multiLineField.RichText; 
    } 

    return isRichText; 
}