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插件很像,可以保持选中状态在分页时



   5、控件的其他一些增强点



    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) - 無牽℡↘嘸褂 - 菁华隐没℡↘芳流歇绝

 




     本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1360553,如需转载请自行联系原作者


相关文章
|
5月前
|
开发框架 缓存 监控
NET Framework 到 .NET 5/6 的迁移是重大的升级
本文详细介绍了从 .NET Framework 4.8 迁移到 .NET 5/6 的过程,通过具体案例分析了迁移策略与最佳实践,包括技术栈评估、代码迁移、依赖项更新及数据库访问层的调整,强调了分阶段迁移、保持代码可维护性及性能监控的重要性。
85 3
|
5月前
|
机器学习/深度学习 编解码 算法
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
《nnU-Net: 自适应框架用于基于U-Net的医学图像分割》是一篇2018年的论文,发表在Nature上。该研究提出了一种自适应的医学图像分割框架nnU-Net,能够自动调整模型的超参数以适应不同的数据集。通过2D和3D U-Net及级联U-Net的组合,nnU-Net在10个医学分割数据集上取得了卓越的性能,无需手动调整。该方法强调数据增强、预处理和训练策略等技巧,为医学图像分割提供了一个强大的解决方案。
162 0
【小样本图像分割-4】nnU-Net: Self-adapting Framework for U-Net-Based Medical Image Segmentation
|
5月前
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
使用的是.NET Framework 4.0,并且需要使用SMTP协议发送电子邮件
80 1
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
7月前
|
开发框架 缓存 前端开发
实战.NET Framework 迁移到 .NET 5/6
从.NET Framework 迁移到.NET 5/6 是一次重要的技术革新,涵盖开发环境与应用架构的全面升级。本文通过具体案例详细解析迁移流程,包括评估现有应用、利用.NET Portability Analyzer 工具识别可移植代码、创建新项目、逐步迁移代码及处理依赖项更新等关键步骤。特别关注命名空间调整、JSON 序列化工具更换及数据库访问层重构等内容,旨在帮助开发者掌握最佳实践,确保迁移过程平稳高效,同时提升应用性能与可维护性。
210 2
|
7月前
|
开发框架 JSON 监控
实战指南:从 .NET Framework 迁移到 .NET 5/6 的策略与最佳实践
【8月更文挑战第28天】从 .NET Framework 迁移到 .NET 5/6 是一次重要的技术升级,涉及开发环境与应用架构的改进。本文通过具体案例分析,介绍迁移策略与最佳实践,帮助开发者顺利完成转变。
130 1
|
7月前
|
缓存 程序员
封装一个给 .NET Framework 用的内存缓存帮助类
封装一个给 .NET Framework 用的内存缓存帮助类
|
7月前
|
XML JSON 程序员
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
160 0
|
7月前
|
消息中间件 开发框架 .NET
闲话 .NET(7):.NET Core 能淘汰 .NET FrameWork 吗?
闲话 .NET(7):.NET Core 能淘汰 .NET FrameWork 吗?
|
7月前
|
开发框架 前端开发 .NET
闲话 .NET(3):.NET Framework 的缺点
闲话 .NET(3):.NET Framework 的缺点

热门文章

最新文章