日期:2014-05-17  浏览次数:20732 次

if else语句问题
本来写的从页面传入类别ID并取出该类别下的所有记录,但是现在发现了问题就是如果没有从其它页面跳转过来,而直接浏览这个页面就要报错,然后就改造了成下面,不知道什么地方写错,还是逻辑有问题,依然报错。这样判定条件成立吗?
protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            string caid = Request.QueryString["caId"].ToString();
            if (caid == null)
            {
                //绑定新闻
                gvNews.DataSource = new News().SelectAll();
                gvNews.DataBind();
            }
            else
            {
                gvNews.DataSource = new News().SelectBycaId(caid);
                gvNews.DataBind();
            }
        }
    }

------解决方案--------------------
string caid = Request.QueryString["caId"].ToString();
这个有问题
要先判断Request.QueryString["caId"]!=null
然后才可以ToString()
否则是不存在对象的
------解决方案--------------------
能把错误代码发上来看吗?
现在判断只能初步判断
 string caid = Request.QueryString["caId"].ToString();
这个可能有问题,因为 Request.QueryString["caId"] 本身就有可能是null  的。
建议这样
 Object caid = Request.QueryString["caId"];
            if (caid == null)
            {