【发布时间】:2013-05-22 05:32:41
【问题描述】:
我正在尝试以这种方式将动态控件添加到我的 WebForms 控件ASP:Panel:
1)。首先,我以这种方式定义了一些 Literals:
Literal paragraphBegin = new Literal();
paragraphBegin.Text = "<p>";
Literal paragraphEnd = new Literal();
paragraphEnd.Text = "</p>";
Literal breakLine = new Literal();
breakLine.Text = "<br />";
2)。我已经定义了 Panel,它会更新其内容,并且我正在向其中添加新项目,如下所示:
this.contentViewWebdata.Controls.Add(labelUserGuid);
this.contentViewWebdata.Controls.Add(editableUserGuid);
this.contentViewWebdata.Controls.Add(breakLine);
3)。文字的paragraphBegin && paragraphEnd 添加得很好,但是breakLine Literal 没有添加,我不太明白 - 为什么不添加?
最后一个问题出现在CodeBehind中的方法:SetSceneEditableUserInfo()
最后的结果确实是这样的:
如您所见,实现<br /> 的Literal 根本不起作用。因此,我还尝试首先将一些Literals 添加到Label 的.Controls(即<span>,我认为将<br /> 保留在其正文中),但是也没有成功。
如果我想解决我的问题,我应该怎么做?
【问题讨论】:
-
您将代码添加到文字控件的页面的事件是什么?顺便说一句,您应该检查页面源,确保已添加换行符和换行符的 css 样式,这可能是换行符不显示的根本原因。
-
@ToanVo 实际上,如果您的意思是 C# 事件/代表,我并没有以编程方式添加任何事件,并且所有内容都通过单击一些按钮(其中标准 .Click( ) 事件被触发),当按钮被触发时 Panel 会更新其内容。
-
@ToanVo 好像是,你是对的,谢谢!添加到我的问题中的答案仅显示,对于此类内容,最好使用新的随机 GUID 或类似的东西生成新控件。
标签: c# asp.net dynamic controls literals