3

问候,

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

我的全局变量

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

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

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

对此

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

那么有没有办法或者只是在页面返回代码中分配属性。

谢谢

4

3 回答 3

5

您可以使用数据绑定语法来执行此操作。

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

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

pieBanana.DataBind();

在页面加载中,以便评估数据绑定表达式。

But if you are going to do this then you might as well assign the property in the page load.

于 2010-08-31T12:37:18.517 回答
0

我认为您应该在后面的代码中使用一个属性(受保护应该足够,但我会在下面的代码段中说公共):

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

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

<uc:LoadPie id="pieBanana" type="<%= myBanana%>" />
于 2010-08-31T08:26:03.097 回答
0

不是你想要的,但是怎么样:

<% pieBanana["type"] = this.Banana %>
于 2010-08-31T10:31:22.707 回答