【发布时间】:2015-05-08 15:32:14
【问题描述】:
我有一个母版页
<asp:Timer ID="masterTimer" runat="server" Interval="1000" OnTick="masterTimer_Tick"/>
<asp:UpdatePanel runat="server" ID="time" UpdateMode="Always" ChildrenAsTriggers="True">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="masterTimer" EventName="Tick"/>
</Triggers>
<ContentTemplate>
<asp:Label runat="server" ID="lblTime"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
在后面的代码中我有简单的
protected void masterTimer_Tick(object sender, EventArgs e)
{
this.lblTime.Text = DateTime.Now.ToString("ddd MMM dd yyyy h:mm:ss tt");
}
在内容页面我有
Dictionary<Guid, string> data = dataClass.DataDictionary();
然后我在默认页面(内容页面)中创建标签类型的动态服务器控件。服务器控件具有文本属性。现在我的问题是,在每个刻度上,它确实读取了正确的数据,这意味着数据字典包含更新的数据,并且它确实将其分配给标签文本属性,但它不显示更新的文本。
我正在像这样创建我的 CustomeLabel
CustomLabel newLabel = new CustomLabel
{
Text = "Label",
Width = 200,
Height = 150,
};
this.Controls.Add(newLabel);
下面是从 LinkLabel 派生的 CustomLabel 类,它具有以下属性
public string Text { get; set; }
public int Width { get; set; }
public int Height { get; set; }
和
readonly LinkButton Label = new LinkButton();
和
protected override void OnLoad(EventArgs e)
{
Label.Text = Text;
}
protected override void Render(HtmlTextWriter output)
{
base.Render(output);
}
如果有人告诉我我需要做什么,我将不胜感激
【问题讨论】:
-
请显示创建和设置标签控件文本的代码。
-
@SteveWellens 刚刚更新了我的问题
-
CustomLabel 服务器比仅仅使用 Label 有什么目的?
-
@Sully,msdn 在这里提到了msdn.microsoft.com/en-us/library/aa651710(v=vs.71).aspx 的点数,但我主要将其用于抽象和我的权限对其状态
-
我在问 CustomLabel 的目的是什么。主要是因为您在下面选择的答案只是使用普通的旧标签。我相信您在使用 CustomLabel 时遇到问题,因为您定义了已经在基类中定义的属性,而没有覆盖它们。所以渲染的是基类属性,而不是你的“新”成员。