⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c4.html

📁 简介:功能描述:商品的分类显示、浏览商品、用户登录、选购和调整购物车、集中结算、存储订单、查看订单
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>c4</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	overflow-x:hidden;
	SCROLLBAR-FACE-COLOR: #0F67AE;;
SCROLLBAR-HIGHLIGHT-COLOR: #2490fc;
SCROLLBAR-SHADOW-COLOR: #48d8fc;
SCROLLBAR-3DLIGHT-COLOR: #0090fc;
SCROLLBAR-ARROW-COLOR: #ffffff;
SCROLLBAR-TRACK-COLOR: #0F67AE;
SCROLLBAR-DARKSHADOW-COLOR: #006cfc;
SCROLLBAR-BASE-COLOR: #fcfcfc;
}
-->
</style>
<link href="../sft.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="730" border="0" cellpadding="0" cellspacing="0" bgcolor="#0F67AE">
  <!--DWLayoutTable-->
  <tr>
    <td width="716" height="397" valign="top" class="cpadding" bgcolor="#0F67AE"><p>一、设计用户控件及主控页</p>
      <p>为了使得系统具有很好的可重用性和可维护性,应该尽可能使用用户控件(User Control)和主控页(Master Page)以便发挥代码重用的优势以减少重复劳动,并且使得各个网页的显示风格一致。</p>
      <p>二、设计主页</p>
      <p>主页是客户访问的第一个页面,可以给客户提供第一印象。它的主要任务是吸引客户并引导客户进入选购界面。</p>
      <p>三、产品类型与产品目录之间同步 </p>
      <p>为了使得“产品类型表”与“产品表”之间取得同步,在显示类型的GridView的Column属性中增添一“超链接列”,并且为此列设置同步所需的“URL”、“URL字段”、“URL格式字符串”等,使得单击该超链接时向“显示产品”页面传送出同步字段“CategoryID”。</p>
      <p>并且在“显示产品”页面中利用QueryString设置查询语句,以便根据属性表传来的参数进行查询,以达到两表同步的目的。</p>
      <p>四、选择产品</p>
      <p>为了选择商品,在产品表中的栏目(Column)中增加一按钮(Button),并且在它的CommdName属性中取名为“select”(也可以取其他名字)。当单击该按钮时,将该产品的副本取出来动态生成数据表,利用这个动态数据表来生成“购物车”。 </p>
      <p>为了生成这个数据表,需要解决以下三个问题: </p>
      <p>1)单击按钮时将触发什么事件; </p>
      <p>2)如何提取GridView控件中的数据; </p>
      <p>3)如何创建动态数据表并将取出的数据放入其中。</p>
      <p>1.选择按钮触发的事件 </p>
      <p>GridView 控件中的RowCommand事件,是GridView控件内任一按钮都将触发的事件。因此在使用这个事件时,先要判断当前点击的是哪个按钮。判断的方法是根据按钮的命令名,语句如下: </p>
      <p>If (e.CommandName==&quot;Select&quot;)   </p>
      <p>{…} </p>
      <p>2.如何取出数据 </p>
      <p>根据鼠标点击的“行”以及在GridView中的“列”,可以取出相应的数据。确定点击行的语句是: </p>
      <p>int index = Convert.ToInt32(e.CommandArgument);</p>
      <p> GridViewRow row = GridView1.Rows[index]; </p>
      <p>取出某列的语句是: </p>
      <p>string bhText = row.Cells[1].Text; </p>
      <p>string mcText = row.Cells[2].Text; </p>
      <p>上述语句提取出鼠标点击的行中第2列和第3列中的数据(列的序号从0开始)。 </p>
      <p>3.如何创建数据表 </p>
      <p>先根据类库中的类生成数据表对象,然后定义数据表的结构,定义数据表各列的数据类型及标题。语句如下:</p>
      <p> System.Data.DataTable Cart = new System.Data.DataTable();// 定义数据表对象         </p>
      <p>if (e.CommandName == &quot;select&quot;)</p>
      <p> {             if (Session[&quot;ShoppingCart&quot;] == null)             {                 </p>
      <p>Cart.Columns.Add(&quot;商品编号&quot;, typeof(int));   // 确定各列的标题及类型                 </p>
      <p>Cart.Columns.Add(&quot;商品名称&quot;, typeof(string));</p>
      <p> Cart.Columns.Add(&quot;单元含量&quot;, typeof(string));</p>
      <p> Cart.Columns.Add(&quot;单价&quot;, typeof(double));</p>
      <p> Session[&quot;ShoppingCart&quot;] = Cart;             }        // 再取出各列的数据,同时进行类型转换         </p>
      <p>Cart = (System.Data.DataTable)Session[&quot;ShoppingCart&quot;];</p>
      <p> int index = Convert.ToInt32(e.CommandArgument);</p>
      <p> GridViewRow row = GridView1.Rows[index];             </p>
      <p>string bhText = row.Cells[1].Text;             </p>
      <p>string mcText = row.Cells[2].Text;             </p>
      <p>string dyText = row.Cells[4].Text;             </p>
      <p>string djText = row.Cells[5].Text;             </p>
      <p>int bh = int.Parse(bhText); </p>
      <p>double dj = double.Parse(djText); // 然后增加数据行,并将数据填入该行的各列之中。             </p>
      <p>System.Data.DataRow rr = Cart.NewRow();             </p>
      <p>rr[&quot;商品编号&quot;]=bh;             </p>
      <p>rr[&quot;商品名称&quot;] = mcText;             </p>
      <p>rr[&quot;单元含量&quot;] = dyText;             </p>
      <p>rr[&quot;单价&quot;] = dj;             Cart.Rows.Add(rr);  // 将新行加入数据表中 </p>
      <p>Session[&quot;ShoppingCart&quot;] = Cart;  </p>
      <p> } </p>
      <p>由于默认情况下,网页之间不保持状态,当你选择多行时,购货车中只会保留最后一项选择。为了能够在购货车中保留多项选择,需要利用Session 对象来保持状态。下列语句的作用就是通过Session来保持状态。 </p>
      <p>if(Session[&quot;ShoppingCart&quot;]==null) 	</p>
      <p>{ 	  </p>
      <p>Cart = new DataTable(); 	   </p>
      <p>… 	  </p>
      <p>Session[&quot;ShoppingCart&quot;]=Cart; 	</p>
      <p>}</p>
      <p> Cart = (System.Data.DataTable)Session[&quot;ShoppingCart&quot;];</p>
      <p> 综合以上所述,创建内存数据表的完整代码如下: </p>
      <p> void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)     </p>
      <p>{         </p>
      <p>System.Data.DataTable Cart = new System.Data.DataTable();          // 生成内存数据表对象 </p>
      <p>if (e.CommandName == &quot;select&quot;)         </p>
      <p>{             </p>
      <p>if (Session[&quot;ShoppingCart&quot;] == null)  // 定义数据表结构             </p>
      <p>{               </p>
      <p>Cart.Columns.Add(&quot;商品编号&quot;, typeof(int)); </p>
      <p>Cart.Columns.Add(&quot;商品名称&quot;, typeof(string));</p>
      <p> Cart.Columns.Add(&quot;单元含量&quot;, typeof(string));</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -