用户留言表
shop_guestbook :id,username,qq,sex,url,email,body,createdate,reply
1:创建表
2:使用动软生成器,生成 Model层的 guestbook.cs 和 DAL层的 guestbookDAO.cs
3:将生成的 Model代码和 DAL代码 拷贝到项目中,并修改一下代码。 快捷键 Ctrl+L 整行代码删除
如何解决呢?我们用到 .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 /> <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"; }