问题是一个页面中,点击我的消息(超链接),进入消息显示页面,如果消息的数据集为空,则点击我的消息后提示,“记录为空”记录为空。请问代码如何写?
<a href="L_news.aspx" >我的消息</a>
判断记录假如为空
string sql = "select * from 消息表 where 发送人 = '" + Session["name"] + "' ";
        DataSet dt = L_database.Readdate(sql);
        if (dt.Tables[0].Rows.Count == 0)
        {
            Response.Write("<script>alert(\"没有记录!\");</script>");
        }
这段代码写在pageload里不起作用

解决方案 »

  1.   

    CS中:
    if (dt.Tables[0].Rows.Count == 0)
            {
    Session["dd"]="dd";        }
    aspx中:
    <%if(Session["dd"]!=null){%>
    <script...
    <%}%>
      

  2.   

    <%if(Session["dd"]!=null){%>
    <script...
    <%}%>是写在哪里,可不可以写完整点,假如记录为空,得提示消息为空
    if (dt.Tables[0].Rows.Count == 0)
            {
    Session["dd"]="dd";        }这段是写在显示消息页面的pageload吗
      

  3.   

    <%if(Session["dd"]!=null){%>
    <script...
    <%}%>写在ASPX中,请仔细看.if (dt.Tables[0].Rows.Count == 0)
            {
    Session["dd"]="dd";        }写在后台检索的地方.CS文件中.
      

  4.   

    <a href="L_news.aspx">我的消息<%if(Session["dd"]!=null){%><script >消息为空!</script><%}%>
    这样写还是没反应啊
      

  5.   

    在消息显示页面的pageload里面写
      

  6.   

    我就是在消息页面的pageload里写的,可是没反应啊
    string sql = "select * from 消息表 where 发送人 = '" + Session["name"] + "' ";
            DataSet dt = L_database.Readdate(sql);
            if (dt.Tables[0].Rows.Count == 0)
            {
                Session["dd"] = "dd";
            }
    在源里是这样写的<a href="L_news.aspx">我的消息<%if(Session["dd"]!=null){%><script >消息为空!</script><%}%>
    不知道是什么原因
      

  7.   

    我觉得问题出在session上。
    从session中取出的数是object 类型的。不能直接字符串拼接。
    你可以在定义字符串处设一个断点,调试一下,看看得到的字符串是否正确。然后你再试试把定义字符串语句改称这样:
    string sql = "select * from 消息表 where 发送人 = '" + Session["name"].ToString() + "' ";
      

  8.   

    不好意思,发送人应该改为接收人,但是这样也没有改变,如果只在pageload里面写
    string sql = "select * from 消息表 where 接收人 = '" + Session["name"].ToString ()+ "' ";
            DataSet dt = L_database.Readdate(sql);
            if (dt.Tables[0].Rows.Count == 0)
            {
                
                Response.Write("<script>alert(\"记录为空\");</script>");
            }
    也可以出现提示,但是点击确定后因为gridview里没有记录,所以页面是白版,我最终的目的是为了不看到白版
      

  9.   

    @<script >消息为空!</script><%}%>@为什么不加 <script language=javascript>alert("消息为空!");</script>页面生成后要用右键看一下生成的HTML.
      

  10.   

    不要'<a href="L_news.aspx">我的消息<%if(Session["dd"]!=null){%><script >消息为空!</script><%}%>'这样写了。<a href="L_news.aspx"/>即可
    在L_news.aspx的pageload里判断session是否为空。
      

  11.   

    好了,不讨论这个问题了,请问有谁知道,gridview当只有一条记录时,显示就很大,外观很不美观,该如何解决
      

  12.   

    scow(怡红快绿之小橙子)==small orange
      

  13.   

    小橙子==small orange
    楼上的搞笑~~~~楼主应该看下生成的html,只要生成出来了javascript就应该是要执行的。
    至于服务器控件,觉得不好用,不灵活。还是自己生成出来显示吧。也许比较麻烦,但好控制。
      

  14.   

    楼上对服务器控件的解释能不能详细点,我的意思就是自定义行间距,使gridview不随着记录的多少行距也跟着变化
      

  15.   

    gridview 用模板可以改变行距吧  没有测试过。。