我看到使用表達的建設者,在這裏創建自己的自定義表達式生成器類的一個實例:什麼時候ASP.NET Expression Builders最有用?
http://aspnet.4guysfromrolla.com/articles/022509-1.aspx
不過,我看不出在使用這種方法的價值。這似乎比編程設置代碼背後的值要容易得多。
據我所知,你唯一能做的就是設置屬性。也許他們會對某些控件設置默認值很有用?
任何人都可以闡明這個ASP.NET功能變得強大的地方嗎?
我看到使用表達的建設者,在這裏創建自己的自定義表達式生成器類的一個實例:什麼時候ASP.NET Expression Builders最有用?
http://aspnet.4guysfromrolla.com/articles/022509-1.aspx
不過,我看不出在使用這種方法的價值。這似乎比編程設置代碼背後的值要容易得多。
據我所知,你唯一能做的就是設置屬性。也許他們會對某些控件設置默認值很有用?
任何人都可以闡明這個ASP.NET功能變得強大的地方嗎?
我們正在使用自定義表達式生成器來本地化我們的應用程序。例如。標記看起來是這樣的:
<asp:LinkButton Text="<%$ Str:SomeString %>" ... />
表達式生成器讀取與從資源文件(考慮到當前用戶的語言首選項)的ID SomeString一個字符串,並將其分配給LinkButton的Text屬性。
這非常靈活:我們可以通過簡單地將資源文件複製到應用程序目錄中來添加語言。如果客戶想要爲該鏈接按鈕創建不同的文本,他只需將自定義字符串添加到資源文件中,並更改表達式構建器中的字符串ID(無需更改代碼隱藏)。
如果您關心ViewState(您應該),自定義表達式很方便。請參閱TRULY Understanding ViewState。
使一些客戶端JavaScript參數「動態」,是一個很好的用於此功能。
所以說你有一個web.config文件中的設置,你想要在javascript標記中下到客戶端。你可以在後面的代碼中處理OnRender事件,並在那裏處理js,但那會很難看。更漂亮做這樣的事情在ASPX:
<script type="text/javascript">
var sessionKill = <%$ AppSettings:ClientSessionTimeOut%>
當你需要表達在頁面生命週期的早期執行是很有用的。當需要參數不在頁面生命週期中的特定點時執行。
也看看製作一般用途'Code' expression builder。
哇,7分鐘沒有答案!對我來說這是一個新紀錄! – 2009-06-16 20:23:43
好問題。我無法想到它們的許多有用的用途。斯科特米切爾做了一個Session- http://www.4guysfromrolla.com/articles/022509-1.aspx,我認爲這可能是有用的(不能說我會用它自己記住)。 – RichardOD 2009-06-16 20:26:02
這個功能的聲音有一個非常狹窄的真實世界應用程序列表。但正如馬丁所描述的那樣,聽起來像本地化就是其中之一。 – 2009-06-17 18:59:31