zoukankan      html  css  js  c++  java
  • 牛腩购物 8 整合用户留言 动软生成器 ,.NET在后置代码中输入JS提示语句(背景不会变白),repeater 循环的时候事件判断,repeater 隔行 奇数行,item列,隐藏区块 Panel 的使用,前台绑定代码的时候使用函数

    用户留言表

    shop_guestbook :id,username,qq,sex,url,email,body,createdate,reply

    1:创建表

    image

    2:使用动软生成器,生成 Model层的 guestbook.cs 和 DAL层的 guestbookDAO.cs

    image

    image

    3:将生成的 Model代码和 DAL代码  拷贝到项目中,并修改一下代码。   快捷键  Ctrl+L  整行代码删除

    image

    如何解决呢?我们用到 .NET在后置代码中输入JS提示语句(背景不会变白)类似于AJAX的效果,页面不刷新!!!

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('验证码输入错误!');</script>"); 
    在后台,注册服务器端的脚本

    //添加成功
    //Response.Write("<script type='text/javascript'>alert('添加成功')</script>");  //这个不行,会导致页面白屏,并且会跑到前台页面的第一行,影响CSS
    
    Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('添加成功!');</script>"); 
    

    在repeater 循环的时候,如果有管理员回复,我们就显示回复,否则就隐藏

     

    前台代码如下,我们使用一个 Panel 来隐藏

    <asp:Panel ID="pnlReplay" runat="server">
               <tr> 
                    <td colspan="2" bgcolor="#CCCCCC" style="padding: 5px;">
                        <span class="redfont">管理员回复:</span><br />
                              &nbsp; &nbsp; 
                         <asp:Literal ID="litReplay" Text='<%#Eval("replay") %>' runat="server"></asp:Literal>
                      </td>
                 </tr>
          </asp:Panel>
    
     
     //当列表循环的时候
    
            protected void rep_ItemDataBound(object sender, RepeaterItemEventArgs e)
            {
                if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)
                {
                    Panel pnlReplay = e.Item.FindControl("pnlReplay") as Panel;
    
                    Literal litReplay = e.Item.FindControl("litReplay") as Literal;
    
                    
                    if (litReplay.Text.Trim().Length == 0) //如果回复等于0  那么就隐藏
                    {
                        pnlReplay.Visible = false;
                    }
                    else
                    {
                        pnlReplay.Visible = true;
                    }
    
                     
                }
            }
    
     
    前台如果要判断是男孩还是女孩,那么我们绑定的数据里面 <%#Eval(“sex”)%> 的值只有 1和0,那么我们如何来判断头像并且给他赋值呢?
    我们在前台用函数的形式来判断和赋值
     
     <img src='images/<%#Getsex(Eval("sex")) %>' width="60" height="60" />
    

    这里我们绑定一个 Getsex 的函数,注意这个函数的写法

    protected string Getsex(object sex)
            {
                return sex.ToString() == "1" ? "boy.jpg" : "girl.jpg";
            }
    
  • 相关阅读:
    C 语言编程经典 100 例
    visual studio.net已检测到指定的web服务器运行的不是asp.net1.1版。无法运行asp.net web应用程序
    如何编译及运行java
    VBScript 函数集
    SQL SERVER定时作业的设置方法
    显示桌面按钮不小心被删,有什么办法找回?
    随机抽取n个记录的SQL
    打开项目时提示如下错误:Visual Studio .NET 无法创建应用程序 。问题很可能是因为本地 Web 服务器上没有安装所需的组件
    简单的数据库连接
    ASP中各种数据库连接代码
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/2382348.html
Copyright © 2011-2022 走看看