2011-10-20 28 views
0

一些控件的Sharepoint表現黯然回發不同: 我開始:不同的行爲控制在回發

<SharePointWebControls:NoteField id="3" FieldName="MultiText" runat="server" /> 
<PublishingWebControls:RichLinkField id="4" FieldName="Link" runat="server" /> 

這些控件呈現& NBSP空白領域。這會在回發時導致不需要的空白。 經過一番研究,我發現像 的解決方案建議here

​​

...沒有& NBSP在空白字段了:

現在,一個新的問題發生: 了在編輯模式下輸入了NoteField任何換行符(呈現爲BR-標籤)都將丟失,當爲SharePointWebControls呈現:fieldValue方法。是否有任何方式來呈現NoteField的HTML在顯示模式下?所以休息時間不會丟失,並且沒有額外的休息時間?

回答

1

我結束了覆蓋在SharePoint控件類似建議here

我不得不重寫NoteField#RenderFieldForDisplay這個樣子,讓NoteField表現上回發並得到相同的:

protected override void RenderFieldForDisplay(HtmlTextWriter output) 
{ 
    TextWriter writer = new StringWriter(); 
    base.RenderFieldForDisplay(new HtmlTextWriter(writer)); 
    string x= writer.ToString(); 
    string y= "&#160;"; 
    string z= "<br/>"; 
    x= x.Equals(y) ? x.Replace(y, string.Empty) : x.Replace(" ", y).Replace("\r\n", z).Replace("\n", z).Replace("\r", z); 
    output.Write(x); 
} 

這工作,但它很糟糕。我仍然不明白爲什麼Sharepoint控件在回發時行爲不同,並且取代了例如帶換行符的br標籤...

相關問題