请问一下这个代码有什么错误?

protected void Button1_Click(object sender, EventArgs e)
{
string sql;
//出错的是这句

    try
    {

        sql = "update  book  set rebody='0001fortest' where id=" + Convert.ToInt16(Request.QueryString["id"].ToString().Trim());

        //sql = "update book set rebody='" + TextBox1.Text.ToString().Trim() + "' where id=" + Request.QueryString["id"].ToString().Trim();
        object result;
        result = new Class1().hsgexucute(sql);
        if (result.GetType() == typeof(int))
        {
            Response.Write("<script>javascript:alert('回复成功');location.href='lygl.aspx';</script>");
        }
        else
        { 
            TextBox1.Text = Request.QueryString["id"].ToString().Trim();
            Response.Write("<script>javascript:alert(' 报错信息:" + result.ToString() + "');</script>");
        }
    }
    catch (Exception)
    {

        throw;
    }
}

}

报空引用了吧,明显 Request.QueryString["id"] 可能为空导致的

看看你的URL里有没有id这个参数

你先看是什么错误提示,如果是null错误,估计就是Request.QueryString["id"]没有取到值

亲啊,调试一下看看到底什么错,贴一下~~

最有可能的原因是querysting中没有传来id,或者传来的是空的,检查下。
所谓querystring,就是链接中?后面那些字符串,其中有没有 &id=... 的部分,它是否是一个有效的数字(并且是short)