7

我看到了一个使用表达式构建器的示例,并在这里创建您自己的自定义表达式构建器类:

http://aspnet.4guysfromrolla.com/articles/022509-1.aspx

但是,我看不到使用这种方法的价值。这似乎并不比在后面的代码中以编程方式设置值容易得多。

据我所知,你唯一能用它们做的就是设置属性。也许它们对于在某些控件上设置默认值很有用?

谁能阐明这个 ASP.NET 功能在哪里变得强大?

4

4 回答 4

4

我们正在使用自定义表达式构建器来本地化我们的应用程序。例如,标记看起来像这样:

<asp:LinkButton Text="<%$ Str:SomeString %>" ... />

表达式构建器从资源文件中读取 ID 为 SomeString 的字符串(考虑到当前用户的语言首选项)并将其分配给 LinkBut​​ton 的 Text 属性。

这非常灵活:我们可以通过简单地将资源文件复制到应用程序目录来添加语言。如果客户想要为该链接按钮提供不同的文本,他只需将自定义字符串添加到资源文件并更改表达式构建器中的字符串 ID(无需更改代码隐藏)。

于 2009-06-16T20:25:44.693 回答
1

如果您关心 ViewState(您应该),自定义表达式很方便。请参阅真正了解 ViewState

于 2009-06-16T23:28:58.270 回答
1

当您需要表达式在页面生命周期的早期执行时,它很有用。它在页面生命周期中的特定点不需要参数时执行。

还可以看看制作一个通用的“代码”表达式生成器

于 2010-04-16T01:58:08.850 回答
-1

使一些客户端javascript参数“动态”,是这个特性的一个很好的用途。

因此,假设您在 web.config 文件中有一个设置,您希望通过 javascript 标记将其传递给客户端。您可以在后面的代码中处理 OnRender 事件,并在那里处理 js,但这会很丑陋。在 ASPX 中做这样的事情要好得多:

 <script type="text/javascript">
   var sessionKill = <%$ AppSettings:ClientSessionTimeOut%>
于 2010-01-21T20:05:57.743 回答