2010-03-30 126 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; 
}