Dot Net FrameWork 4.0 學習筆記(1)
4.0出來很長時間,因爲各類緣由各類藉口也沒有去認真的作過了解,這些因爲工做關係,硬着頭皮仍是把4.0的知識點梳理了一遍,記錄以下
在這風起雲涌的WEB2.0+的後時期,確實微軟也在積極引導廣大的開發者走向WEB標準化,如下的小小變更無一不體現出設計者的妙思奇想
.Net FrameWork分爲CLR與Class Library這個沒什麼好說的,4.0上依舊是這樣沒有任何變化,不過居言在5.0會開啓另外的運行時環境與C++ 11作交換,這個仍是蠻期待的..
1,簡潔的 web.config 文件
2,控件的新屬性 ViewStateMode - 控件的視圖狀態模式
3,控件的新屬性 ClientIDMode - 生成客戶端 ID 的方式
4,列表控件的新屬性 EnablePersistedSelection - 保存選中項的方式
5,控件的其餘一些加強點
RenderOuterTable - 指定控件在客戶端呈現的時候,是否在外層加 table 標籤
Menu 控件,在 asp .net 4.0 中將會以 ul li 的方式呈如今客戶端
RepeatLayout - 佈局模式,控件在客戶端的 HTML 呈現方式
Wizard 和 CreateUserWizard 新增了 LayoutTemplate 模板
原來使用 ListView 必需要有 LayoutTemplate ,在 asp.net 4.0 中能夠再也不用它了
示例:
1. 簡潔的 web.config,配置信息被移到了 machine.config
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
</configuration>
2.ViewStateMode 屬性的用法 , 直接上圖
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
3.ClientIDMode 屬性的用法
<!--
ClientIDMode - 生成客戶端 ID 的方式
ClientIDMode.AutoID - 生成方式和之前同樣,爲保證惟一,會把其以上各層級的控件ID拿過來拼成一個頁面中的惟一ID
ClientIDMode.Inherit - 繼承父控件的客戶端ID生成方式
ClientIDMode.Static - 靜態方式。在服務端設置的ID是什麼,客戶端所呈現的ID就是什麼
ClientIDMode.Predictable - 生成ID的方式爲:[Prefix]_[ID]_[Suffix]
注意:
在某控件層級中若是沒有設置 ClientIDMode,則其默認值爲 AutoID
若是在控件層級中的父級控件設置了 ClientIDMode,則其子控件的默認值爲 Inherit
-->
<!-- Predictable 模式中自動分配 Suffix 的方式 -->
<div id="repeaterContainer">
<asp:Repeater ID="repeater" runat="server" ClientIDMode="Static">
<ItemTemplate>
<div>
<asp:Label ID="productPrice" ClientIDMode="Predictable" runat="server">
<%# string.Format(System.Globalization.CultureInfo.CurrentUICulture, "{0:c}", Eval("ProductPrice"))%>
</asp:Label>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
<!-- Predictable 模式中分配指定 Suffix 的方式(ClientIDRowSuffix 指定 Suffix 的數據來源) -->
<asp:ListView ID="listView" runat="server" ClientIDMode="Static" ClientIDRowSuffix="ProductId">
<ItemTemplate>
<div>
<asp:Label ID="productPrice" ClientIDMode="Predictable" runat="server">
<%# string.Format(System.Globalization.CultureInfo.CurrentUICulture, "{0:c}", Eval("ProductPrice"))%>
</asp:Label>
</div>
</ItemTemplate>
<LayoutTemplate>
<div id="listViewContainer">
<div id="itemPlaceholder" runat="server" />
</div>
</LayoutTemplate>
</asp:ListView>
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
ps:注意幾種方式的ID,有了這個好東西在生成的客戶端ID上咱們終於有了自主權 ![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
4.EnablePersistedSelection 屬性的用法
<!--
EnablePersistedSelection - 保存選中項的方式
true - 根據 DataKeyNames 指定的字段作爲關鍵字保存選中項(分頁操做不會改變選中項)
false - 根據行在當前頁的表中的索引作爲關鍵字保存選中項(分頁後,選中項會發生改變。好比,在第一頁選中了第一行,那麼分頁到第二頁的時候選此頁的第一行就會被當成選中項,也就是選中項發生了改變)
-->
<asp:GridView ID="gridView" runat="server" AllowPaging="True" DataSourceID="ObjectDataSource1"
CellPadding="4" ForeColor="#333333" GridLines="None" EnablePersistedSelection="true"
DataKeyNames="productId">
ps:這個屬性和咱們以前用過的Flexigrid插件很像,能夠保持選中狀態在分頁時
五、控件的其餘一些加強點
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
<!-- 1
RenderOuterTable - 指定控件在客戶端呈現的時候,是否在外層加 table 標籤
FormView,Login,PasswordRecovery,ChangePassword 控件均有此屬性
-->
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
<!-- 2
Menu 控件,在 asp.net 4.0 中將會以 ul li 的方式呈如今客戶端
-->
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
<!-- 3 RepeatLayout
RepeatLayout - 佈局模式,控件在客戶端的 HTML 呈現方式
RepeatLayout.Flow - 流式佈局,一行一個選項
RepeatLayout.OrderedList - ol li 佈局
RepeatLayout.UnorderedList - ul li 佈局
RepeatLayout.Table - Table 佈局
CheckBoxList,RadioButton 控件均有此屬性
-->
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
<!-- 4 嚮導控件的
LayoutTemplate新模板
Wizard 和 CreateUserWizard 新增了 LayoutTemplate 模板 ,以下
headerPlaceholder - runtime時,其內容會被 HeaderTemplate 中的內容替換掉
sideBarPlaceholder - runtime時,其內容會被 SideBarTemplate 中的內容替換掉
wizardStepPlaceholder - runtime時,其內容會被 WizardStepTemplate 中的內容替換掉
navigationPlaceholder - runtime時,其內容會被導航模板中的內容替換掉
-->
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
![Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕](http://static.javashuo.com/static/loading.gif)
<!-- 5
ListView
原來使用 ListView 必需要有 LayoutTemplate ,在 asp.net 4.0 中能夠再也不用它了
-->
關於控件或表象的一些東西就大都在這裏了,這也是4.0中的一些UI上的變化吧,
下一節,webform作URL,新的條件表達式,自定義緩存邏輯,數據源綁定數據的再檢索
歡迎關注本站公眾號,獲取更多信息