仿Pconline虚拟装机平台的实现

   最近参照Pconline用.net写了个虚拟装机平台(http://mydiy.pconline.com.cn/),其实也没什么难度,主要是看到Pconline是用jsp写的,想用.net实现一下。事实证明,.net确实强哈!

  Pconline的虚拟装机平台基本上就2个嵌入框架,左框架上方3个连动下拉菜单,下方产品列表。这个用DropDownList+DataGrid很容易实现,将DropDownList的AutoPostBack属性设为True,很容易实现列表的连动,美中不足的是页面刷得太影响心情,等学了Ajax再换掉。右边框架基本上也是一个DataGrid里实现,唯一不同的是右边的DataGrid数据来源于Session中的DataTable。

  具体实现方法,在Global.asax中定义:
    void Session_Start(object sender, EventArgs e)
    {
        DataTable dtProd = new DataTable();
        DataColumn keyCol = new DataColumn("id",typeof(Int32));
        dtProd.Columns.Add(keyCol);
        dtProd.Columns.Add(new DataColumn("classid", typeof(Int32)));
        dtProd.Columns.Add(new DataColumn("num",typeof(Int32)));
        dtProd.Columns.Add(new DataColumn("price", typeof(decimal)));
        dtProd.Columns.Add(new DataColumn("prodname", typeof(string)));
        DataColumn[] primKey = new DataColumn[1];
        primKey[0] = keyCol;
        dtProd.PrimaryKey = primKey;
        Session["dtProd"] = dtProd;
        Session["login"] = "";
    }
创建一个会话表,然后在左框架DataGrid中添加
    protected void DG_LP_ItemCmd(object sender, DataGridCommandEventArgs e)
    {
        if (e.CommandName == "btn_Choose")
        {
            int id = Convert.ToInt32(e.Item.Cells[0].Text);
            DataTable dtProd = (DataTable)Session["dtProd"];
            DataRow rowFound = dtProd.Rows.Find(id);
            if (rowFound == null)
            {
                DataRow rowNew = dtProd.NewRow();
                rowNew["id"] = id;
                rowNew["classid"] = Convert.ToInt32(DDL2.SelectedValue);
                rowNew["num"] = 1;
                rowNew["price"] = Convert.ToInt32(e.Item.Cells[3].Text);
                rowNew["prodname"] = ((HyperLink)e.Item.Cells[1].Controls[0]).Text.Trim();
                dtProd.Rows.Add(rowNew);
            }
            Response.Write("<script>parent.right.location.href='Right.aspx';</script>");
        }
    }
当用户点击选择时,将选择的产品信息添加到会话表中,然后刷新右边框架,使右边更新产品信息!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值