Когда объявляются значения, связанные с свойствами пользовательского элемента управления в WebForms?Когда объявляются значения, связанные с свойствами пользовательского элемента управления в WebForms?
У меня есть пользовательский элемент управления, который имеет общедоступное свойство, которое является типом перечисления. На моей странице aspx я определяю ее значение декларативно. В ascx я выводил значение на страницу с использованием <%= %>
синтаксиса. Значение, которое выводится синтаксисом эха, всегда равно 0
. Перечисление nopt имеет нулевое значение.
Мой вопрос, следовательно, есть, это echo <%= %>
синтаксис, оцененный до того, как объявленное значение привязано к свойству?
Пример:
public enum Foo
{
Bar = 1,
Bahh = 2,
BlackSheep = 3
}
// MyUserControl.cs
public class MyUserControl : UserControl
{
public Foo Fizz { get; set; }
}
// MyUserControl.ascx
<a href="foo.aspx?foo=<%= this.Fizz %>">Foo</a>
// MyPage.aspx
<foo:MyUserControl runat="server" ID="foo:MyUserControl1" Fizz="Bar" />
<foo:MyUserControl runat="server" ID="foo:MyUserControl2" Fizz="Bahh" />
<foo:MyUserControl runat="server" ID="foo:MyUserControl3" Fizz="BlackSheep" />
Выход:
<a href="foo.aspx?foo=0">Foo</a>
<a href="foo.aspx?foo=0">Foo</a>
<a href="foo.aspx?foo=0">Foo</a>
Я буду считать, что нуль является «отключено» значение для любого члена перечня и, следовательно, предположить, что <%=
выполняется до значение привязано к свойству.