在usercontrols中使用代码块

时间:2010-09-30 13:55:10

标签: asp.net codeblocks

我尝试在发送给Web用户控件的属性中使用代码块语法:

<uc1:MyControl ID="MyControl1" runat="server" SomeProperty="<%= somevalue %>"/>

用户控件具有声明的公共属性SomeProperty,并且还使用代码块来显示属性值:

<p><% = SomeProperty %></p>

遗憾的是,我页面上的输出

<p><%= somevalue %></p>

而不是实际价值。有人知道一些解决方法吗?

2 个答案:

答案 0 :(得分:2)

您正尝试在服务器端控件上分配服务器端值 - 这是不可能的。

您可以在客户端代码中使用代码块(没有runat="server"属性),这当然不适用于服务器端控件。

ascx之前的代码(OnRender)中设置属性:

// In onload, pre render or other event handler 
MyControl1.SomeProperty = somevalue; // C#

MyControl1.SomeProperty = somevalue ' VB.NET

答案 1 :(得分:0)

尝试将属性的值赋给Label并在控件上调用.DataBind()方法。