各位大哥大姐,江湖救急!
1.现有字段为  name,price,discount,number,subtotal 的DataGrid dgCart;
数据从SQL2000->DataTable->DataGrid;
DataTable和DataGrid是动态编写, 
DataTable的结构:
myDt.Columns.Add(new DataColumn("Name",str.GetType()));  //str是空串
myDt.Columns.Add(new DataColumn("Price",str.GetType()));
myDt.Columns.Add(new DataColumn("Discount",str.GetType()));
DataGrid的创建:
//属性添加
........;
TemplateColumn name=new TemplateColumn();   //添加模板列
//构造方法中加入字段名,literal控件中导入的是Name字段的数据
name.ItemTemplate=new ColumnTemplateLiteral("Name");    
name.HeaderText="商品名";
name.ItemStyle.Width=160;
dgCart.Columns.Add(name);    
........;  //其他字段模板列添加
Page.Controls[1].Controls.Add(dgCart);   //page加载DataGrid
........;  //相关模板列类;?现调试通过name,price,discount三个,还有number,subtotal,
number 是TextBox控件,subtotal为literal控件,  但他们不从数据库读数据,
我想绑定TextBox的TextChanged事件,当number[TextBox]模板列的的Text变动时
,literal的文本自动变化为double.prase(number.toString())*double.prase(discount.toString())
上表达式是大概意思,numberTextBox有初始值"1",当用户填入的不为int型是还原为TextBox原有的
int数据,我现已经逻辑混乱,不知如何下手,谜茫中....2.现有页面,结构为  
   frameLeft  |  frameContent
   TreeView   |  根据TreeNode显示的页面
功能已通过,但是出现问题,当我的节点点点击次数多了后,
报错:  无法显示网页 
       目前访问网站的用户过多。 
这似乎说明着frameContent中先前的内容没有关掉[猜的],
?怎样消除这个问题
?缓存可以吗
 
大家拉我一把,先放在上面了

解决方案 »

  1.   

    报错:  无法显示网页 
           目前访问网站的用户过多。 
    这似乎说明着frameContent中先前的内容没有关掉[猜的],
    ——————————————————————————————————————————
    如果这是在xp上,那么是正常的。只要你的Web服务器是运行的windows server,就没有问题。不用管它。只是调试时确实麻烦,所以我建议开发人员应该装windows 2000 server或者windows 2003。
      

  2.   

    哦,还有这么一说,难怪,我用的是xp,以前用的2003,感觉功能用的不多,删了
    还想问哈楼上的大侠,在DataGrid中做一个TextBox列,想绑定TextBox的TextChanged事件,当number[TextBox]模板列的的Text变动时,小记列[literal类型]的文本自动变化为 数量*单价
    是动态发往客户端的DataGrid,实现这个功能的模板列怎么写?
      

  3.   

    sp1234大哥帮帮我,换了做法做购物车,
    又碰到问题了,最后的问题,头昏N天了,
    用户放入购物车的商品由cookie中写入读出,
    将所选商品数量也加入cookie中,功能实现了,
    自己编写了对购物车的绑定,,但是
    在对购物车编辑时,更新按钮被点击后,不能马上实现
    小记[数量*单价]的刷新,而非要等点击cancel按钮,
    或者到下一次编辑[编辑其他项也可]才刷新,怎么解决??
      

  4.   

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace BookShop
    {
    /// <summary>
    /// AddToCart 的摘要说明。
    /// </summary>
    public class AddToCart : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid dg_Cart;
    protected System.Web.UI.WebControls.HyperLink hl_Exit;
    protected System.Web.UI.WebControls.Button btn_CleanCart;
    protected System.Web.UI.WebControls.Button btn_PutOrder;
    protected System.Web.UI.WebControls.Literal ErrMsg;
    protected System.Web.UI.WebControls.Label Label1;
    //protected System.Web.UI.WebControls.CheckBox ckbAll;

    Hugo.Book myBook=new Hugo.Book();
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    int BookId;
    HttpCookie cookie;
    bool tempbl=false;
    ErrMsg.Visible =false;
    string tempstr;

    if(!IsPostBack)
    {
    if(Object.Equals(Session["UserName"],null))
    {
    Response.Redirect("Error.aspx");
    }
    else
    {
    if(!Object.Equals(Request.QueryString["BookId"],null))
        {

    BookId=int.Parse(Request.QueryString["BookId"].ToString());

    if(Object.Equals(Request.Cookies["HugoShopBookCart"],null)) 
    {
    cookie = new HttpCookie("HugoShopBookCart");
    }
    else
    cookie=Request.Cookies["HugoShopBookCart"];
    for(int i=0;i<cookie.Values.Count;i++)
    {
    if(!Object.Equals(cookie.Values.AllKeys[i],null))
    {
    tempstr=cookie.Values.AllKeys[i].ToString();
    if(tempstr.Trim()!="")
    {
    if(BookId==int.Parse(cookie.Values.AllKeys[i]))
    {
    tempbl=true;
    break;
    }
    }
    }
    }
    if(!tempbl)
    {
    cookie.Values.Add(BookId.ToString(),"1");
    }
    else
    {
    ShowErrMsg("Cart Have This Book,Please Change It's Number.");
    }
    TimeSpan ts = new TimeSpan(0,10,0,0);
    cookie.Expires=DateTime.Now + ts;
    Response.AppendCookie(cookie);
    }
    string url;
    try
    {
    url=Request.QueryString["Backurl"].ToString();

    hl_Exit.NavigateUrl=url; 
    }
    catch
    {
    hl_Exit.NavigateUrl="main.aspx" ;
    }
    BindGrid(0);
    }
    }
    } #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);

    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.dg_Cart.CancelCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_CancelCommand);
    this.dg_Cart.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_EditCommand);
    this.dg_Cart.UpdateCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.dg_Cart_UpdateCommand);
    this.btn_CleanCart.Click += new System.EventHandler(this.btn_CleanCart_Click);
    this.btn_PutOrder.Click += new System.EventHandler(this.btn_PutOrder_Click);
    //this.ckbAll.CheckedChanged+=new System.EventHandler(this.AllSelect);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion
    /// <summary>
    /// Push Dialog,Show error message
    /// </summary>
    /// <param name="err">Error Message Detail</param>
    private void ShowErrMsg(string err)
    {
    string str;
    str="<script language='javascript'>";
    str+=" alert('" +err + "')";
    str+="</script>";
    ErrMsg.Visible=true;
    ErrMsg.Text=str;
    }
    private void BindGrid( int state)
    {
    DataTable myDt;
    DataRow myDr;
    string str="";

    //HttpCookie cookie;
    myDt=new DataTable();
    myDt.Columns.Add(new DataColumn("id",str.GetType()));
    myDt.Columns.Add(new DataColumn("Name",str.GetType()));
    myDt.Columns.Add(new DataColumn("Price",str.GetType()));
    myDt.Columns.Add(new DataColumn("Number",str.GetType()));
    myDt.Columns.Add(new DataColumn("Discount",str.GetType()));
    myDt.Columns.Add(new DataColumn("Totle",str.GetType()));
    if(!Object.Equals(Request.Cookies["HugoShopBookCart"],null)) 
    {
    HttpCookie cookie=Request.Cookies["HugoShopBookCart"];
    for(int i=0;i<cookie.Values.Count;i++) 
    {
    int id;
    DataRow tempDr;
    double totle;
    myDr=myDt.NewRow();
    if((cookie.Values.AllKeys[i]!="")&&(cookie.Values[i]!=""))
    {
    id=int.Parse(cookie.Values.AllKeys[i]);
    tempDr=myBook.GetBookDetail(id);
    myDr[0]=id;
    myDr[1]=tempDr["Name"];
    myDr[2]=tempDr["Price"].ToString();
    myDr[3]=cookie.Values[i];
    myDr[4]=tempDr["Discount"].ToString();
    totle=double.Parse(myDr[2].ToString())*double.Parse(myDr[3].ToString());
    //totle*=double.Parse(myDr[4].ToString());
    myDr[5]=totle.ToString() ;
    myDt.Rows.Add(myDr);
    }
    } }
    dg_Cart.DataSource=myDt.DefaultView;
    if(state==1)
    {   
    dg_Cart.EditItemIndex=-1;
    dg_Cart.DataBind();
    }
    else
    {
    dg_Cart.DataBind();
    }
    }