代码阅读总结之ASP.NET StartKit Commerce

ASP.NET StartKit Commerce简单,容易理解。

我认为是初次学习.NET代码的首选,不怕各位笑话,我曾经完整阅读该项目代码3次。

那么,通过阅读我们能学习到什么知识呢?请看我下面的总结:

1。多层结构的实现

依我见是2层结构:PL层和BLL层(没有明显的DAL层,DAL和BLL共同组成BLL层)。但是我们可以学习到Db过程的调用方法。

2。Web服务的简单使用

3。Web用户控件的使用

4。数据绑定的相关知识

让我们先看该项目中的一段代码:

<asp:HyperLink cssclass="MenuSelected" id="HyperLink2" Text='<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>' NavigateUrl='<%# "productslist.aspx?CategoryID=" + DataBinder.Eval(Container.DataItem, "CategoryID") + "&selection=" +
  
Container.ItemIndex %>' runat="server" />

说明:

(1)数据绑定用单引号,单引号中的字符用双引号。

(2)特别注意属性:Container.ItemIndex,它生成的是每一项的ID,它是从零开始的。功能类似MS SQL的IDENTITY(0,1).想想我以前的项目为了展现每一行的索引,往往利用在DB中创建临时表生成行索引,再绑定数据的做法真愚。

5。基于窗体的验证

在Web.config文件中,我们可以看到如下2段代码:

<authentication mode="Forms">
      <forms name="CommerceAuth" loginUrl="login.aspx" protection="All" path="/" />
</authentication>
  
<location path="OrderDetails.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
</location>

说明:这样就禁止未通过登陆验证的用户访问页面:OrderDetails.aspx,自动将未登陆用户引导到页面login.aspx进行登陆验证

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据
, 验证
, 代码
, 登陆
, 项目
, 源代码阅读
, 引号
, 阅读代码
代码阅读
,以便于您获取更多的相关知识。

时间: 2024-09-19 09:02:22

代码阅读总结之ASP.NET StartKit Commerce的相关文章

代码阅读总结之ASP.NET StartKit TimeTracker

自定义集合类排序(Sort())方法随笔 ASP.NET StartKit TimeTracker中定义了很多自定义集合类 例如: UsersCollection TimeEntriesCollection 等等 他们都是ArrayList类的子类 例如: TimeEntriesCollection存放自定义类TimeEntry 这些自定义集合类都实现了排序方法Sort 先看我写的一段代码: using System; using System.Collections; namespace Ar

代码阅读总结之ASP.NET StartKit TimeTracker(角色权限之捉虫笔记)

在ASP.NET StartKit TimeTracker中由于程序设计上的小失误,我们可以利用这个BUG来达到越权访问aspx页面的能力. 我们都知道该系统定义了三种角色,分别为 Administrator(管理员) Project Manager(项目管理者) Consultant(顾问) 只有Administrator角色的用户才可以访问管理信息页面(ProjectList.aspx) 现在我来描述一下错误现象: 现在我有一个管理员的帐户ai_ai@126.com. 我们先用这个帐户登陆,

代码阅读总结之ASP.NET StartKit TimeTracker(数据绑定之困惑笔记)

以前在项目中数据绑定一直用<%# %> 今天在ASP.NET StartKit TimeTracker的AdminTabs.ascx中有一段代码: <a href='<%= Global.GetApplicationPath(Request) %>/<%# ((ASPNET.StarterKit.TimeTracker.BusinessLogicLayer.TabItem) Container.DataItem).Path %>'> <%# ((ASP

代码阅读总结之ASP.NET StartKit TimeTracker(QueryString之改进笔记)

在ASP.NET StartKit TimeTracker中使用了大量QueryString 例如: http://localhost/TTWebCSVS_cn/ProjectList.aspx?index=2 现在让我们在IE地址里面敲入下面的地址,会出现什么情况? http://localhost/TTWebCSVS_cn/ProjectList.aspx?index=a2 或者 http://localhost/TTWebCSVS_cn/ProjectList.aspx?index= 很明

代码阅读总结之ASP.NET StartKit TimeTracker(应用程序路径之处理笔记)

在开发中我们为了整个程序目录结构清晰化,望望会建立许多不同的文件目录. 例如结构如下: |root |pic |web |usercontrol 在web目录中,我们怎么取到pic目录中的图片路径呢? 方法1: 让我们先看看ASP.NET StartKit TimeTracker的解决方案: ASP.NET StartKit TimeTracker的类Global中定义了一个公有方法: public static string GetApplicationPath(HttpRequest req

代码阅读总结之Fitch and Mather 7.0

asp.net发生异常或错误时错误提示页面的处理方法 当asp.net发生异常或错误时,我们是怎么样处理错误提示页面? 我总结了下面几种方式: i:利用方法Response.Redirect() 看下面2段代码: 1. 在页面admin.aspx中发生异常时 try { //程序逻辑 } catch(OverflowException) { //在选中的上下文中所进行的算术运算.类型转换或转换操作导致溢出时引发的异常 //例如:小于int的MinValue或大于int的MaxValue,异常,转

Kryo简介及代码阅读笔记

更新:2012-08-01 版本 2.16长时间运行可能会导致OOM,版本2.18有bug,不能正确序列化map和collection. 真是悲剧,所用的每一个版本都有bug.不过从代码来看,作者有时的确比较随便..测试用例也少..(比起msgpack少多了) ======================================== Kryo官方网站:https://code.google.com/p/kryo/ 优点:     速度快!见https://github.com/eisha

FFMpeg框架代码阅读

FFMpeg框架代码阅读 内容摘要:FFmpeg是一个集录制.转换.音/视频编码解码功能为一体的完整的开源解决方案.FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用.FFmpeg支持MPEG. DivX.MPEG4.AC3.DV.FLV等40多种编码,AVI.MPEG.OGG.Matroska.ASF等90多种解码. TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg. FFmpeg主目录下主要有libavcodec.libavformat和l

摘自《代码阅读方法与实践》

第一章:导论要养成一个习惯,经常花时间阅读别人编写的高品质代码.要有选择地阅读代码,同时,还要有自己的目标.您是想学习新的模式.编码风格.还是满足某些需求的方法?要注意并重视代码中特殊的非功能性需求,这些需求也许会导致特定的实现风格.在现有的代码上工作时,请与作者或维护人员进行必须的协调,以避免重复劳动或因此而产生厌恶情绪.请将从开放源码软件中得到的益处看作是一项贷款,尽可能地寻找各种方式来回报开放源码社团.多数情况下,如果您想要了解"别人会如何完成这个功能呢?",除了阅读代码以外,没