2009-06-16 35 views
6

我看到使用表达的建设者,在这里创建自己的自定义表达式生成器类的一个实例:什么时候ASP.NET Expression Builders最有用?

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

不过,我看不出在使用这种方法的价值。这似乎比编程设置代码背后的值要容易得多。

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

任何人都可以阐明这个ASP.NET功能变得强大的地方吗?

+0

哇,7分钟没有答案!对我来说这是一个新纪录! – 2009-06-16 20:23:43

+0

好问题。我无法想到它们的许多有用的用途。斯科特米切尔做了一个Session- http://www.4guysfromrolla.com/articles/022509-1.aspx,我认为这可能是有用的(不能说我会用它自己记住)。 – RichardOD 2009-06-16 20:26:02

+0

这个功能的声音有一个非常狭窄的真实世界应用程序列表。但正如马丁所描述的那样,听起来像本地化就是其中之一。 – 2009-06-17 18:59:31

回答

4

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

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

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

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

-1

使一些客户端JavaScript参数“动态”,是一个很好的用于此功能。

所以说你有一个web.config文件中的设置,你想要在javascript标记中下到客户端。你可以在后面的代码中处理OnRender事件,并在那里处理js,但那会很难看。更漂亮做这样的事情在ASPX:

<script type="text/javascript"> 
    var sessionKill = <%$ AppSettings:ClientSessionTimeOut%> 
0

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

也看看制作一般用途'Code' expression builder

相关问题