2013-03-07 104 views
0

動態更改標籤文本。如果我沒有一個呈現模板,我可以添加以下到我的aspx頁面:在我的代碼在SharePoint呈現模板

<asp:label ID="myLabel" runat="server" /> 

那麼這背後:

myLabel.Text = "Hello World"; 

但由於我的標籤在<SharePoint:RenderingTemplate>之內,我無法以正常方式訪問它。

還有別的辦法嗎?

編輯:我發現了一些文章,如this one談論爲每個渲染模板創建一個.dll。將字符串輸出到頁面真的很複雜嗎?我應該澄清我對所有的想法都是開放的。我不需要代碼。我只需要輸出一個動態字符串到模板。

+0

我發現[this](http://stackoverflow.com/questions/9060049/sharepoint-how-to-access-objects-in-renderingtemplate)。希望它有幫助! – Brian 2013-03-07 21:41:55

+0

@布賴恩第一件事我嘗試了。沒有工作。 – 2013-03-07 21:51:26

+0

爲什麼'FindControl'沒有工作?這正是你應該做的:-)確保你使用了正確的ID來找到正確的控件? – 2013-03-08 07:43:32

回答

0

您可以創建自己的標籤控件,並以任何您喜歡的方式使用它。

這裏有一個例子:Extending the Label Control,但它基本上就像您將擴展任何其他控件。

我會怎麼做:直接在該自定義控件中設置.Text,或者最好使用資源文件。然後,你可以在標籤上創建您贏得了財產,像這樣:

<Custom:label ID="myLabel" specialresource="myLabel" runat="server" /> 

而在你的類,你可以只處理specialresource財產和如將.Text設置爲您從資源中獲得的任何內容。