我尝试在发送给Web用户控件的属性中使用代码块语法:
<uc1:MyControl ID="MyControl1" runat="server" SomeProperty="<%= somevalue %>"/>
用户控件具有声明的公共属性SomeProperty,并且还使用代码块来显示属性值:
<p><% = SomeProperty %></p>
遗憾的是,我页面上的输出
<p><%= somevalue %></p>
而不是实际价值。有人知道一些解决方法吗?
答案 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()方法。