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

时间:2013-07-01 00:41:39

标签: c# asp.net .net

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

我想使用基本&lt;%...%&gt; 嵌入式代码块与&lt;%#...%&gt; 数据绑定表达式< / p>

示例我想添加&#34;如果&#34;这段代码的条件:

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

问候。

1 个答案:

答案 0 :(得分:4)

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

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

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

如果它更复杂,那么通常最好只是调用代码隐藏方法为你做这件事:

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