首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

if else语句有关问题

2013-07-11 
if else语句问题本来写的从页面传入类别ID并取出该类别下的所有记录,但是现在发现了问题就是如果没有从其

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)
            {


                //绑定新闻
                gvNews.DataSource = new News().SelectAll();
                gvNews.DataBind();
            }
            else
            {
                gvNews.DataSource = new News().SelectBycaId(caid.ToString());
                gvNews.DataBind();
            }


[解决办法]
要先判断Request.QueryString["caId"]是不是null再ToString();
null.ToString()肯定出错。

            var  caid = Request.QueryString["caId"];
            if (caid == null)
            {
                //绑定新闻
                gvNews.DataSource = new News().SelectAll();
                gvNews.DataBind();
            }
            else
            {
                gvNews.DataSource = new News().SelectBycaId(caid.ToString());
                gvNews.DataBind();
            }

热点排行