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) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕


  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) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕
 

    ps:注意幾種方式的ID,有了這個好東西在生成的客戶端ID上咱們終於有了自主權 Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕



    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) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕


    <!--   1


        RenderOuterTable - 指定控件在客戶端呈現的時候,是否在外層加 table 標籤
            FormView,Login,PasswordRecovery,ChangePassword 控件均有此屬性 
    -->

    Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕





    <!--   2
        Menu 控件,在 asp.net 4.0 中將會以 ul li 的方式呈如今客戶端
    -->
    Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕

    <!--  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) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕





    <!--  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) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕



    <!--  5   ListView 

        原來使用 ListView 必需要有 LayoutTemplate ,在 asp.net 4.0 中能夠再也不用它了
    -->


    關於控件或表象的一些東西就大都在這裏了,這也是4.0中的一些UI上的變化吧,
 
    下一節,webform作URL,新的條件表達式,自定義緩存邏輯,數據源綁定數據的再檢索  Dot Net FrameWork 4.0 學習筆記(1) - 無牽℡↘嘸褂 - 菁華隱沒℡↘芳流歇絕    
相關文章
相關標籤/搜索