您的位置:首页 > Web前端 > JavaScript

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

2012-03-06 17:33 1116 查看
用户留言表

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","<scriptlanguage='javascript'defer>alert('验证码输入错误!');</script>");
在后台,注册服务器端的脚本


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

Page.ClientScript.RegisterStartupScript(Page.GetType(),"message","<scriptlanguage='javascript'defer>alert('添加成功!');</script>");


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

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

<asp:PanelID="pnlReplay"runat="server">
<tr>
<tdcolspan="2"bgcolor="#CCCCCC"style="padding:5px;">
<spanclass="redfont">管理员回复:</span><br/>
  
<asp:LiteralID="litReplay"Text='<%#Eval("replay")%>'runat="server"></asp:Literal>
</td>
</tr>
</asp:Panel>
//当列表循环的时候
protectedvoidrep_ItemDataBound(objectsender,RepeaterItemEventArgse)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
PanelpnlReplay=e.Item.FindControl("pnlReplay")asPanel;

LiterallitReplay=e.Item.FindControl("litReplay")asLiteral;

if(litReplay.Text.Trim().Length==0)//如果回复等于0那么就隐藏
{
pnlReplay.Visible=false;
}
else
{
pnlReplay.Visible=true;
}

}
}
前台如果要判断是男孩还是女孩,那么我们绑定的数据里面<%#Eval(“sex”)%>的值只有1和0,那么我们如何来判断头像并且给他赋值呢?
我们在前台用函数的形式来判断和赋值

<imgsrc='images/<%#Getsex(Eval("sex"))%>'width="60"height="60"/>


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

protectedstringGetsex(objectsex)
{
returnsex.ToString()=="1"?"boy.jpg":"girl.jpg";
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航