深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

一个简单的ASP+留言板程序


March 25,2004
    这是我第一次写,还请大家多指教
    只看了一天的CSharp就蠢蠢欲试,参考了NGWS的帮助文档,写了个留言板小程序。
    本程序使用SQL SERVER7,库里只有4个字段:

[GuestBook]
    book_id
    UserName
    Post_Time
    Content

    因为对CSharp掌握还不好,写得有点乱,其实很多地方可以写得简单点。输出数据时可以使用不同的方法,我是用了
服务器自带的控件Repeater来输出;还可以用getString的方法读取数据。值得研究的地方还有很多哦,呵呵~

    另外没有对数据检查,微软的文档上有说有一个服务器端的检查控件,其实有好几个,很复杂,太多E文了,我还在
看,谁要是有使用经验不妨教我一把。

    顺便说一声,NGWS文档里面的东西好多错误,真见鬼! :(

<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<%@page  responseencoding="gb2312" %>

<script language="C#" runat="server">

    void Page_Load(Object semder, EventArgs e) {

        SQLConnection myConnection = new SQLConnection
("server=sowen;uid=guestbook;pwd=guestbook;database=guestbook");
        SQLDataReader myreader;

    if (Request.QueryString["action"]=="del") {
        String delCmd = "Delete From GuestBook Where book_id=" + Request.QueryString["book_id"];
        SQLCommand myDelCommand = new SQLCommand(delCmd.ToString(),myConnection);
        myDelCommand.ActiveConnection.Open();
        
        myDelCommand.Execute(out myreader);
        Message.InnerHtml = "<B>删除留言!</B>";
        
        myDelCommand.ActiveConnection.Close();
    }
   
    if (Request.Form["action"]=="save") {
        String insertCmd = "Insert Into GuestBook(UserName,Post_time,Content) Values('" + Request.Form
["UserName"] + "','" + DateTime.Now + "','" + Request.Form["Content"] + "')";
        
        SQLCommand myInsertCommand = new SQLCommand(insertCmd.ToString(),myConnection);
        myInsertCommand.ActiveConnection.Open();

            //int rowsAffected = 0;
            myInsertCommand.Execute(out myreader);
            Message.InnerHtml = "<B>留言成功!</B>";
        
        myInsertCommand.ActiveConnection.Close();
        
    }

        SQLDataSetCommand myCommand = new SQLDataSetCommand("select * from GuestBook Order By post_time
DESC", myConnection);
        DataSet ds = new DataSet();
        myCommand.FillDataSet(ds, "UserName");

        MyDataList.DataSource = ds.Tables["UserName"].DefaultView;
        MyDataList.DataBind();
    }


    //Boolean Check_it(Object Sender) {
    //    if (Sender.Value=="") return False;
    //}
</script>
<html>
<body>
<title>留言板</title>
<center>

<table>

<div id=Message runat=server></div>
<p><a href="guest.aspx">刷新</a></p>
<form action=guest.aspx method=post>
    <tr><td>大名:</td><td><input type=text name=UserName size=10></td></tr>
    <tr><td valign=top>留言:</td><td><textarea colspan=30 rows=4 name=content></textarea></td></tr>
    <tr><td colspan=2><input type=submit value="保存"></td></tr>
    <input type=hidden name=action value=save>
</table>
</form>
<table>

  <ASP:Repeater id="MyDataList" runat="server">
   
    <template name="itemtemplate">
   
    <tr>
        <td>大名:</td><td><%# DataBinder.Eval(Container.DataItem, "UserName") %>&nbsp;&nbsp;<a
href="guest.aspx?action=del&book_id=<%# DataBinder.Eval(Container.DataItem, "book_id") %>">删除留言
</a></td>
    </tr>
    <tr>
        <td>留言时间:</td><td><%# DataBinder.Eval(Container.DataItem, "Post_Time") %></td>
    </tr>
    <tr>
        <tD>留言内容:</td><td><%# DataBinder.Eval(Container.DataItem, "Content") %></td>
    </tr>
    <tr><td colspan=2 height=10></td></tr>
    <tr><td colspan=2 height=1 bgcolor=black></td></tr>
    <tr><td colspan=2 height=10></td></tr>
    </template>
      
  </ASP:Repeater>
  
</table>
</body></html>
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved