在 Page_Load 下怎样使用if  else 需要传值时调用 string 不需要时不调用

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!this.IsPostBack)
    {
    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\mydb.mdb;"); 
    OleDbCommand cmd = new OleDbCommand("Select * FROM abc",conn);
    conn.Open();
    OleDbDataReader reader = cmd.ExecuteReader();
    DataList1.DataSource = reader;
    DataList1.DataBind();
    reader.Close();
    string ID=Request.QueryString["ID"].ToString();
    OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\mydb.mdb;"); 
    OleDbCommand cmd = new OleDbCommand("Select * FROM detail where quID='"+quID+"'",conn);
    conn.Open();
    OleDbDataReader reader = cmd.ExecuteReader();
    DataList2.DataSource = reader;
    DataList2.DataBind();
    reader.Close();
    }string detailID=Request.QueryString["detailID"].ToString();这句怎么处理才不会出错?
      

  2.   

    string detailID=Request.QueryString["detailID"].ToString();这句怎么处理才不会出错?-----------------------
    把后面的ToString()去掉就不会出错了.
    我发现,很多人写码的时候,总喜欢在本来就是文本类型的数据之后,再添加一个ToString(),不知道这是从哪里学来的,根本就是画蛇添足.并且增加了出错的机率.因为有时候取到的值是null,再加一个转换,必然出错.
      

  3.   

    那是需要从其他网页传值进来 所以要用 ToString()
      

  4.   

    怎样使用 
    if
    {}
    else
    {}
    在传值时 调用string detailID=Request.QueryString["detailID"].ToString();没有值传进来时不调用
      

  5.   

    if (Request.QueryString["detailID"] !="" && Request.QueryString["detailID"] !=null)
    {
    string detailID=Request.QueryString["detailID"].ToString();
    }
    else
    {
    }