留言板实例

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="QQzone.aspx.cs" Inherits="WebApplication1.QQzone" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        #main
        {
            width:900px;
            color:Orange;
            font-size:14px;
            font-family:微软雅黑;
            margin:auto;
            }
            .tb{ border:solid 3px gray; margin-top:3px;}
            .r1{ background-color:Green;}
            .t1{ font-weight:bold;}
            .t2{ text-align:right; font-style:italic; color:Blue;}
            .t3{ color:#aabbcc; }
            .reply{ width:90%; border-bottom:dashed 1px green; height:20px; color:Purple;}
    </style>

</head>
<body>
    <form id="form1" runat="server">
    <div id="main">
    <h2>QQZone--xx的QQ空间</h2>
    <hr />
        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
            <table class="tb" width="100%">
                <tr class="r1">
                    <td height="30" width="50%" class="t1">
                        <%# Eval("Content") %>
                        <%# Eval("postdate") %>
                        <%# Eval("ip") %>

                    </td>
                    <td width="50%" class="t2">
                    <%# Container.ItemIndex+1 %>楼
                    </td>
                </tr>
                <tr>
                    <td height="120" class="t3">
                        <%#Eval("IContent") %>
                        <hr />

                        <asp:HiddenField ID="HiddenField1" Value=‘<%# Eval("lid") %>‘ runat="server" />
                        <asp:Repeater ID="Repeater2" runat="server">
                        <ItemTemplate>
                            <div class="reply">
                               <%#Eval("postdate") %> <%# Eval("username") %>
                               <%#Eval("rcontent") %>
                        </ItemTemplate>
                        </asp:Repeater>
                       <br />

                       姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                       回复内容<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                        <asp:Button ID="Button1" runat="server" Text="提交" OnClick="addRelay" />
                    </td>

                </tr>
            </table>
        </ItemTemplate>
        </asp:Repeater>

    </div>
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

namespace WebApplication1
{
    public partial class QQzone : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindList();
            }
        }
       //提交
        protected void addRelay(object sender, EventArgs e)
        {
            //获取数据
           Button btn= sender as Button;
           RepeaterItem pi= btn.Parent as RepeaterItem;
           string name = (pi.FindControl("TextBox1") as TextBox).Text;
           string lid = (pi.FindControl("HiddenField1") as HiddenField).Value;
           string rcontent = (pi.FindControl("TextBox2") as TextBox).Text;
           DateTime dt = DateTime.Now;
           string ip = Request.UserHostAddress;
            //数据新增操作
           string q = "insert into leaveMsg values(@a,@b)";
            SqlParameter[] pm=new SqlParameter[2];
            pm[0]=new SqlParameter("@a",name);
            pm[1]=new SqlParameter("@b",rcontent);
           SqlDataReader dr = SQLHelper.GetDataReader(q,pm);

           BindList();

            //新增后重新绑定

        }
        private void BindList()
        {
            //绑定留言消息
            string sql = "select * from leaveMsg";
            DataTable dt = SQLHelper.GetTable(sql);
            Repeater1.DataSource = dt;
            Repeater1.DataBind();
            //绑定回复消息

            //1.遍历Repeater1的每一行
            foreach (RepeaterItem item in  Repeater1.Items)
            {
                //2.取这一行的隐藏域 HiddenField1,取值(留言id)
                HiddenField hf= item.FindControl("HiddenField1") as HiddenField;
                string id = hf.Value;
                //3.查询数据库中留言id对应的回复内容
                string s = "select * from replyMsg where [email protected]";
                SqlParameter pm = new SqlParameter("@a",id);
                DataTable d2 = SQLHelper.GetTable(s,pm);
                //4.把查询回复放到这一行的Repeater2上去
                Repeater rp2 = item.FindControl("Repeater2")as Repeater;
                rp2.DataSource = d2;
                rp2.DataBind();
            }

        }

    }
}
时间: 2024-10-12 03:32:28

留言板实例的相关文章

Node.js开发 ---- 留言板实例fs读写文件

项目结构如下: app.js const exp = require('express'), bodyParser = require('body-parser'), fs = require('fs'), multer = require('multer'), app = exp(), multipart = multer(); // 用来创建对象的方法如上面的exp()/multer() // 可以称为工厂方法 app.use(exp.static('static')) app.use(bo

PHP文本式留言板——php经典实例

文件结构: index.php 主页和添加页 show.php 查看留言页 ly.db 文本保存页 doAdd.php 添加功能页 doDel.php 删除功能页  index.php 1 <html> 2 <head> 3 <title>文本式留言板</title> 4 <meta charset='utf-8' /> 5 </head> 6 <body> 7 <center> 8 <h1>文本式

NVelocity 实现简单的留言板

留言版简单实现 ----------------------------------------------------------------------------------------------------------------------------------- 项目截图: 1,新建留言板数据库:LiuYanbanDB USE [LiuYanbanDB] GO /****** Object: Table [dbo].[LiuYan] Script Date: 2015/5/15

微信小程序实现简易留言板

微信小程序现在很火,于是也就玩玩,做了一个简易的留言板,让大家看看,你们会说no picture you say a j8 a,好吧先上图. 样子就是的,功能一目了然,下面我们就贴实现的代码,首先是HTML页面,好吧,其实微信小程序的是wxml(微信ml)总感觉怪怪的,有木有. 1 <!--index.wxml--> 2 <view class="msg-box"> 3 <!--留言--> 4 <view class="send-bo

JavaScript+IndexedDB实现留言板:客户端存储数据

之前看到贴友有问:用js怎么实现留言板效果.当时也写了一个,但是没有实现数据存储:http://www.ido321.com/591.html 现在将之前的改写一下,原来的HTML布局不变,为了防止Google调整字体,在原来的css中加入一个样式 1: body{ 2: font-size: 20px; 3: -webkit-text-size-adjust:none; 4: } 在google中调整字体,可以见此文:http://www.ido321.com/652.html     有评论

[PHP100]留言板(一)

[实例]我的留言板 ** 文件结构: conn.php // 数据库配置 add.php // 操作文件 list.php //列表文件 ** 步骤 建立数据库: phpmyadmin: 建立数据库(数据库名):php100_bbs 执行建表SQL: message table: ********这里必须要注意了, 我原来都不知道, 闹笑话了******************包裹 表名/字段名等等 的 根本 不是 引号(单引号/双引号都不是)************************ 那

Servlet实践--留言板-v1

功能介绍: 由三个jsp页面组成,在doGet中根据请求URL中的请求参数不同,跳转到不同的页面: 页面1:显示整个留言板列表 页面2:创建留言页面(包括用户.主题.内容和上传文件) 页面3:在查看单个留言的详细内容(包括提供下载附件) 在doPost中处理创建留言的逻辑 如何实现这些功能: 1.使用什么来保存用户创建的留言(数据存储): 使用一个Ticket类对象来保存用户创建的留言,包括用户名.评论主题.评论内容和附件.附件是用一个Attachment类的实例来表示,该类中包含附件名和附件内

js实现动态添加删除(留言板)

介绍:仿照留言板写一个类似的实例,具有添加.删除的简单功能 思路:点击发布按钮,利用DOM操作进行元素添加[appendChild()],点击删除按钮,利用DOM找到父节点,进行删除[removeChild()] <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style typ

会话控制之留言板

//要用session做一个留言板 //首先先做一个loginn.php文件  做出个用户可以输入的表单 //将这个表单提交给另一个页面dlchuli.php对用户输入的用户名和密码进行处理 //在这个dlchuli.php页面中先开启session //运用post方法来获取到用户输入的用户名和密码 //再通过用户输入的用户名和密码从数据库里找需要匹配的数据信息 //这个页面就是来确认下用户输入的信息是否正确,若正确就跳转到主页面.mainn.php //在建一个主页面来显示留言和发布留言消息