# OrderDetails.aspx 页面

说明： OrderDetails网页显示了在特定的commerce starter kit订单中所有记录的细节表。

使用说明： OrderDetails网页当用户在OrderList.aspx网页点击某一特定地订单地"Show Details"链接时显示出来。要查询的产品的OrderID作为一个URL查询参数传递给该页面(例如： "OrderDetails.aspx?OrderID=99")。可以查看OrderList.aspx网页了解当给这个网页创建超链接的时候这个参数是如何添加的。

只有授权用户才可以通过配置系统访问到OrderDetails.aspx网页。OrderDetails.aspx网页逻辑完全被封装到其Page Load事件句柄中。当网页OrderDetails.asp被浏览器的客户端访问的时候，该事件句柄才被调用。

配置细节： OrderDetails.aspx 网页已经被设定成拒绝所有未授权的commerce starter kit的顾客的访问。这一功能是通过在commerce starter kit的Web.config 文件里添加授权入口而实现的。

<location path="OrderDetails.aspx">
<security>
<authorization>
<deny users="?"/>
</authorization>
</security>
</location>

上面的入口明确地拒绝匿名使用者访问OrderDetails.aspx URL页面(在上面的配置入口，“？”代表匿名用户)。 当未鉴别身份的用户企图访问网页的时候，内置的基于窗体的ASP.NET安全系统会自动将他们定向到一个配置好的登录页面。下面的commerce starter kit入口特别说明了Login.aspx网页将是指定的登陆页面。

<security>
<authentication mode="Cookie">
<cookie cookie="CommerceAuth" loginurl="Login.aspx" decryptionkey="autogenerate"></cookie>
</authentication>
</security>

开发者可以自由地定制页面的外观，在验证用户身份时也可以采用各种信任验证检查方式(在commerce starter kit中我们检验基于数据库的用户名和口令)。在客户成功的证明自己的身份后(也就是:他们的用户名和口令都是正确的),他们被转向OrderDetails.aspx网页并有权访问该网页。请查看Login.aspx网页了解在commerce starter kit内这一做法是如何实现的)。

Page_Load 事件句柄： Page_Load事件句柄的代码利用页面的User对象来查看已链接到网页的用户的可鉴别身份。对于commerce starter kit来说，已鉴别的身份名称是客户的唯一CustomerID， OrderDetails.aspx页面的 Page_Load 事件句柄便利用了CustomerID值调用ASPNET.StarterKit.Commerce.OrdersDB 类的GetOrderDetails方法来获取关于顾客已经下的某一订单的细节.这一方法内部调用了OrdersDetail 存储过程来从Commerce数据库中获得产品信息。

然后，订单内的特定记录便会通过一个控件显示出来。可以为控件设置不同的样式属性，使其看起来美观大方.也可以使用各种各样的服务器控件输出关于订单(订单总价格，装运时间,订单日期等等)的全体信息。