我定制动态水晶报表代码如下private string CreateSelectQueryAndParameters()
        {
            ReportDocument reportDocument;
            ParameterFields paramFields;            ParameterField paramField;
            ParameterDiscreteValue paramDiscreteValue;            reportDocument = new ReportDocument();
            paramFields = new ParameterFields();            string query = "SELECT ";
            int columnNo = 0;            if (chbCode.Checked)
            {
                columnNo++;
                query = query.Insert(query.Length, "Code as Column" + columnNo.ToString());
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "Customer Code";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }
            if (chbFirstName.Checked)
            {
                columnNo++;
                if (query.Contains("Column"))
                {
                    query = query.Insert(query.Length, ", ");
                }
                query = query.Insert(query.Length, "FirstName as Column" + columnNo.ToString());
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "First Name";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }
            if (chbLastName.Checked)
            {
                columnNo++;
                if (query.Contains("Column"))
                {
                    query = query.Insert(query.Length, ", ");
                }
                query = query.Insert(query.Length, "LastName as Column" + columnNo.ToString());
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "Last Name";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }
            if (chbAddress.Checked)
            {
                columnNo++;
                if (query.Contains("Column"))
                {
                    query = query.Insert(query.Length, ", ");
                }
                query = query.Insert(query.Length, "Address as Column" + columnNo.ToString());
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "Address";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }
            if (chbPhone.Checked)
            {
                columnNo++;
                if (query.Contains("Column"))
                {
                    query = query.Insert(query.Length, ", ");
                }
                query = query.Insert(query.Length, "Phone as Column" + columnNo.ToString());
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "Phone";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }            //if there is any remaining parameter, assign empty value for that 
            //parameter.
            for (int i = columnNo; i < 5; i++)
            {
                columnNo++;
                paramField = new ParameterField();
                paramField.Name = "col" + columnNo.ToString();
                paramDiscreteValue = new ParameterDiscreteValue();
                paramDiscreteValue.Value = "";
                paramField.CurrentValues.Add(paramDiscreteValue);
                //Add the paramField to paramFields
                paramFields.Add(paramField);
            }            crystalReportViewer1.ParameterFieldInfo = paramFields;            query += " FROM Customer";
            return query;
        }private void button1_Click(object sender, EventArgs e)
        {
                        CrystalReport2 objRpt = new CrystalReport2();            string connString = "Data Source=.;Initial Catalog=tempdb;Integrated Security=True";            //Get Select query Strring and add parameters to the 
            //Crystal report.
            string query = CreateSelectQueryAndParameters();            //if there is no item select,then exit from the method.
            if (!query.Contains("Column"))
            {                return;
            }            try
            {
                SqlConnection Conn = new SqlConnection(connString);                SqlDataAdapter adepter = new SqlDataAdapter(query, connString);
                DataSet1 Ds = new DataSet1();                adepter.Fill(Ds, "Customer");                objRpt.SetDataSource(Ds);
                crystalReportViewer1.ReportSource = objRpt;
            }
            catch (SqlException oleEx)
            {            }
            catch (Exception Ex)
            {            }        }
在c# 的C/S结构下一切正常,选哪个就能看到哪个;
但是在asp.net的B/S结构下,同样的代码就显示不正常,点击Button后让我输入参数字段的参数。
请知道的帮忙回答下