Я создал серверный элемент управления (а не контроль пользователь ... нет ASCX) со строковым InnerProperty:Использование Eval() в Custom Control Server, InnerProperty
[PersistenceMode(PersistenceMode.InnerProperty)]
[BindableAttribute(true)]
public string LabelText {
get { return Label.Text; }
set { Label.Text = value; }
}
И когда дали обычную строку в разметка она отлично работает:
<Custom:SpecialTextBox ID="Box" runat="server" >
<LabelText>
Some Text
</LabelText>
</Custom:SpecialTextBox>
Если я использую этот элемент управления в элементе управления с привязкой к данным (например, ListView) и хочу использовать метод Eval в этом InnerProperty:
<Custom:SpecialTextBox ID="Box" runat="server" >
<LabelText>
Some <%# Eval("TextType") %> Text
</LabelText>
</Custom:SpecialTextBox>
я получаю сообщение об ошибке синтаксического анализатора:
The 'LabelText' property of 'Custom:SpecialTextBox' does not allow child objects.
Есть атрибут или что-то, что я могу поставить на имущество, чтобы сделать эту работу? Благодарю.
Что происходит, когда вы назначаете LabelText к Eval рядный, например, ' Custom: SpecialTextBox>'? –
@DaveZych немного странно: что вы предложили, но если я хочу объединить его со статическим текстом (LabelText = 'Some <% # Eval ("TextType")%> Text'), Eval не оценивает. – kad81
Как насчет того, когда у вас есть только Eval внутри элемента LabelText без некоторых текстовых слов? –