在SharePoint渲染模板中动态更改标签文本

时间:2013-03-07 21:28:06

标签: c# asp.net templates sharepoint

如果我没有渲染模板,我可以将以下内容添加到我的aspx页面:

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

然后在我的代码背后:

myLabel.Text = "Hello World";

但由于我的标签位于<SharePoint:RenderingTemplate>内,我无法以正常方式访问它。

还有其他办法吗?

修改:我发现了一些像this one这样的文章,讨论为每个渲染模板创建.dll。将字符串输出到页面真的很复杂吗?我应该澄清一点,我对所有想法持开放态度。我不需要代码。我只需要将一个动态字符串输出到模板。

1 个答案:

答案 0 :(得分:0)

您可以创建自己的标签控件,并以您喜欢的任何方式使用它。

这里有一个例子:Extending the Label Control,但它基本上就像你扩展任何其他控件一样。

我会做什么:直接在该自定义控件中设置.Text,或者更好的方法是使用资源文件。然后你就可以在标签上创建你的赢家,如下所示:

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

在你的课堂上,你可以处理specialresource属性,例如将.Text设置为从资源获得的任何内容。