private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)
行 59:  {
行 60:  int ProductID=Int32.Parse(Request.Params["ProductID"]);
行 61:  Response.Redirect("AddToCart.aspx?ProductID="+ProductID);
行 62:  }请指教!谢谢!
还有一个问题
如何看堆栈跟踪?
堆栈跟踪: 
[ArgumentNullException: 值不能为空。
参数名: String]
   System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +0
   System.Int32.Parse(String s) +38
   netshop.ProductDetails.ImageButton2_Click(Object sender, ImageClickEventArgs e) in f:\asp.net\aspx\ecommerce\netshop\productdetails.aspx.cs:60
   System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109
   System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +69
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain() +1277 

解决方案 »

  1.   

    改成下面的试试:int ProductID=0; //赋初值
    if(Request.Params["ProductID"]!=null&&Request.Params["ProductID"]!=string.Empty)
       ProductID=Int32.Parse(Request.Params["ProductID"]);
    Response.Redirect("AddToCart.aspx?ProductID="+ProductID);
      

  2.   

    private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    上面这句,你用vs自动生成,你在设计页面选中ImageButton2_Click按钮,然后在属性拦里选择他的事件,在click事件后面的空格处,双击,再回到cs里,把要执行的代码放上