• 牛腩购物 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";
            }
    
  • 相关阅读:
    【转载】理解本真的REST架构风格
    Linux常用命令
    使用MongoDB存储集合的一些问题
    AutoMapper快速上手
    JavaScript instanceof 运算符深入剖析
    使用c#对MongoDB进行查询(1)
    centos7安装rabbitmq3.7.9
    nginx1.14.0版本高可用——keepalived双机热备
    nginx1.14.0版本https加密配置
    nginx1.14.0版本负载均衡upstream配置
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/2382348.html
Copyright © 2020-2023  润新知