如何将嵌入的代码块与数据绑定表达式混合使用

Aut*_*dad 4 .net c# asp.net

我阅读了这份文档http://support.microsoft.com/kb/976112 ,其中解释了所有可用的嵌入式代码块,但我想将其中的两个结合起来。

我想使用带有<%# ... %>数据绑定表达式的基本<% ... %>嵌入代码块

示例我想向此代码添加“If”条件:

<asp:Label ID="lblHello" runat="server" Text="<%# DataBinder.Eval(Container.DataItem, "[\"Txt\"]")%>"></asp:Label>

问候。

Mar*_*ett 5

在的差异<%,并<%#主要是在他们跑(前者在渲染时,后者在数据绑定)。因此,“组合”它们是没有意义的。

可能想要做的是在数据绑定时运行一些额外的代码来执行您的if语句。如果它是一个简单的表达式,你可以内联它:

<%# MyProperty ? Eval("Txt") : Eval("OtherTxt") %>

如果它更复杂,那么通常最好只调用一个代码隐藏方法来为您完成:

<%# MyMethod(Eval("Txt")) %>