ly2.aspx

来自「《精通ASP.NET网络编程》附带实例」· ASPX 代码 · 共 122 行

ASPX
122
字号
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
<Html>
<Body BgColor="White">
 <H3>简易留言本<HR></H3>
 <div id=Message runat=server></div>
 <Form runat="server">
  <table cellspacing=0 cellpadding=0 width="700" border=0>
    <tr bgcolor="#9999FF"> 
      <td width="98%" align="center"> <font face=宋体 color=#ffffcc><b>留言本</b></font></td>
   </tr>
  </table>
  <asp:DataList id="DataList1" runat="server"
    Border="1" BorderColor="Black"
    CellPadding="2" CellSpacing="0"
    HeaderStyle-BackColor="#CCCCCC"
    ItemStyle-BackColor="#eeeeee"
    SelectedItemStyle-BackColor="#ffffff" 
    HeaderTemplate-ColSpan="3"
    OnItemCommand="DataList_ItemCommand" 
    Width="700">
   <HeaderTemplate>
    <asp:LinkButton id="Tosay" runat="server" Text="我要发言"  ForeColor="#FF3333"/>
    <a href="ly2.aspx"><font color="#FF3333">刷新界面</font></a>
   </HeaderTemplate>
   <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "book_id")%>
    <%# DataBinder.Eval(Container.DataItem, "content")%>
    <asp:LinkButton  id="Detail" runat="server" Text="查看详细内容"  ForeColor="#333333"/>
   </ItemTemplate>
   <SelectedItemTemplate>
    编号: <%# DataBinder.Eval(Container.DataItem, "book_id")%><BR>
    发言人:<%# DataBinder.Eval(Container.DataItem, "username")%><BR>
    时间: <%# DataBinder.Eval(Container.DataItem, "post_time")%><BR>
    内容: <%# DataBinder.Eval(Container.DataItem, "content")%><BR>
    <div align="right">
     <asp:LinkButton id="Title" runat="server" Text="关闭" ForeColor="#333333"/>
    </div>
   </SelectedItemTemplate>
  </asp:DataList>
  <table id="foot" cellspacing=0 cellpadding=0 width="700" border=0 
   runat="server" visible="false">
    <tr> 
    <td bgcolor=#000000> 
        <table cellspacing=1 cellpadding=3 width="700"  border=0>
          <tr bgcolor=#ffffff> 
           <td>大名:<Input Type="Text" id="Username" Size=20 runat="server"/>
            <br>留言:
            <br><textarea id="Content" cols="50" runat="server" rows="5"></textarea>
           <asp:LinkButton  id="save" runat="server" Text="保存"  
            OnClick="LinkButton1_Click"  AutoPostBack/><br>
           <asp:LinkButton  id="close" runat="server" Text="关闭" OnClick="LinkButton2_Click"/>
           </td>
          </tr>
        </table>
    </td>
   </tr>
  </table>
  <table cellspacing=0 cellpadding=0 width="700" border=0>
    <tr bgcolor="#9999FF"> 
      <td width="98%" align="center"><font face=宋体 color=#ffffcc> <b>留言本</b></font> 
      </td>
   </tr>
  </table>
 </Form>
 <hr>
 <asp:Label id="Label1" runat="server" />
</Body>
</Html>
<script Language="C#" runat="server">
 void Page_Load(Object sender, EventArgs e)  
 {
  DataList1.DataSource = CreateDataView("sample.mdb", "guestbook");
  DataList1.DataBind();
 }
 DataView CreateDataView( String Db, String Table)
 {
  String Provider, ConnStr, SQL;
  Provider = "Microsoft.Jet.OLEDB.4.0;";
  ConnStr = "Provider="+Provider+"Data Source="+Server.MapPath(Db);
  OleDbDataAdapter Cmd;
  Cmd = new OleDbDataAdapter("Select * from "+Table+" Order By post_time DESC", ConnStr);
  DataSet ds= new DataSet();
  Cmd.Fill(ds, Table);
  DataView myView = new DataView(ds.Tables[Table]);
  return myView;
 }
 void DataList_ItemCommand(Object sender,DataListCommandEventArgs e)
 {
  switch (((LinkButton)e.CommandSource).Text)
  {
   case "我要发言":
   foot.Visible = true;
   break;
   case "查看详细内容":
   DataList1.SelectedIndex = e.Item.ItemIndex; //查看留言模版被选中
   break;
   case "关闭":
   DataList1.SelectedIndex = -1;
   break;
  }
  DataList1.DataSource = CreateDataView( "sample.mdb", "guestbook" );
  DataList1.DataBind();
 }
 void LinkButton2_Click(Object sender, EventArgs e)
 {
  foot.Visible = false;
 }   
 void LinkButton1_Click(Object sender, EventArgs e)
 {
  String ConnStr, SQL;
  SQL = "Insert  Into GuestBook (userName,post_time,content) Values ('"+Username.Value+"','"+DateTime.Now +"','"+Content.Value+"')";
  ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;"+"Data Source="+Server.MapPath("sample.mdb");
  OleDbConnection Conn= new OleDbConnection(ConnStr);
  Conn.Open();
  OleDbCommand Cmd=new OleDbCommand(SQL, Conn);
  Cmd.ExecuteNonQuery();    
  Message.InnerHtml = "<B>留言成功!</B>";
  foot.Visible = false;
 }
</script>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?