如何从页面代码中的全局变量中分配控件属性值?

时间:2010-08-31 08:11:35

标签: asp.net asp.net-controls

问候,

我有一个控件和变量列表,我希望在控件属性中直接在页面中分配给变量值,而不是从后面的代码,像这样

我的全局变量

public string Banana = "banana_pie";
public string Apple = "apple_pie";

在我的自定义控件中,而不是:

<uc:LoadPie id="pieBanana" type="banana_pie" />

到此

<uc:LoadPie id="pieBanana" type="<%=Banana %>" />

所以有办法或只是在页面后面的代码中分配属性。

由于

3 个答案:

答案 0 :(得分:5)

你可以使用数据绑定语法这样做。

<uc:LoadPie id="pieBanana" type='<%#Banana%>' runat="server"></uc:LoadPie>

但是在你的代码后面你必须调用

pieBanana.DataBind();
在页面加载中

以便计算数据绑定表达式。

但是如果你打算这样做,你也可以在页面加载中分配属性。

答案 1 :(得分:0)

我认为你应该在你的代码中使用一个属性(应该受到保护,但我会在下面的代码片段中公开):

Public Property myBanana() As String
   Get
      Return Pies.Banana;
   End Get
End Property

然后您可以在控件中使用它,例如:

<uc:LoadPie id="pieBanana" type="<%= myBanana%>" />

答案 2 :(得分:0)

不是你想要的,但是如何:

<% pieBanana["type"] = this.Banana %>