⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guestbook.aspx

📁 ASP_NET程序设计教程 源代码 冶金工业出版社 肖金秀 冯沃辉 陈少涌
💻 ASPX
字号:
<% @ Import Namespace="Packaging" %>
<% @ Import Namespace="System.Data" %>
<% @ Register TagPrefix="pb" TagName="Header" Src="header.ascx" %>
<% @ Register TagPrefix="pb" TagName="Footer" Src="footer.ascx" %>
<% @ Register TagPrefix="pb" TagName="Login" Src="login.ascx" %>
<% @ Register TagPrefix="pb" TagName="Major" Src="major.ascx" %>
<% @ Register TagPrefix="pb" TagName="Pic" Src="pic.ascx" %>
<% @ Register TagPrefix="pb" TagName="Link" Src="link.ascx" %>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Language" content="zh-cn">
<title>Dot.Net留言簿!</title>
<script language="JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
// -->
</script>
<link rel="stylesheet" type="text/css" href="pack.css">
</head>

<body topmargin="6" leftmargin="0" bgcolor="#eaeaea">

<form runat="server">

<pb:Header id="Header" runat="server" />

<div align="center">
<table border="0" cellpadding="0" cellspacing="1" bgColor="#006699" width="750" height="125">
	<tr><td width="25%" valign="top" background="images/bd.gif" rowspan="2" height="125">
	<pb:Login id="login" runat="server" />
	<pb:Major id="major" runat="server" /></td>
	<td width="50%" valign="top" bgcolor="#FFFFFF" align="center">
	<table border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr><td width="100%" height="67"><font color="#FF0000">欢迎您留下宝贵的建议!</font><br>
		<img border="0" src="images/line.gif" width="400" height="12"></td></tr>
		<tr><td width="100%" align="right" height="15">
		<asp:LinkButton id="isay" runat="server" Text="我来说两句" onClick="isay_Click" /></td></tr>
	</table>

<asp:Repeater id="guestbook" runat="server" visible="true">
	<HeaderTemplate>
	<table border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr><td width="100%" height="15" align="center">
		<table border="0" cellpadding="0" cellspacing="0" width="93%" >
	</HeaderTemplate>
	<ItemTemplate>
			<tr><td width="100%" background="images/bar2.gif" height="20">&nbsp;
			<font color="#FFFFFF"><b><%# DataBinder.Eval(Container.DataItem, "GuestTitle") %></b></font></td></tr>
			<tr><td width="100%"><%# pre(Container.DataItem("GuestContent"))%></td></tr>
			<tr><td width="100%">
			<p align="right"><a href="mailto:
			<%# DataBinder.Eval(Container.DataItem, "GuestEmail") %>">
			<%# DataBinder.Eval(Container.DataItem, "GuestName") %> </a>发表于
			<%# DataBinder.Eval(Container.DataItem, "GuestTime") %></td></tr>
	</ItemTemplate>
	<FooterTemplate>
		</table>
		</td></tr>
	</table>
	</FooterTemplate>
</asp:Repeater>

	<table border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr><td width="100%" align="center">&nbsp;<br>
		<input type="hidden" id="pagenow" runat="server" value="1">
		<asp:LinkButton id="toFirst" text="转到第一页" runat="server" onClick="toFirst_OnClick" />&nbsp;
		<asp:LinkButton id="prepage" text="上一页" runat="server" onClick="prepage_OnClick" />&nbsp;
		<asp:LinkButton id="nextpage" text="下一页" runat="server" onClick="nextpage_OnClick" />
		<asp:Label id="mes" text="感谢您对Dot.Net的关注!" runat="server" visible="false" /></td></tr>
	</table>

<asp:Panel id="sayform" runat="server" visible="false">
	<table border="0" cellpadding="0" cellspacing="0" width="100%">
		<tr><td width="100%" height="15" align="center">
		<table border="0" cellpadding="0" cellspacing="0" width="95%" height="165">
			<tr><td width="100%" colspan="2" height="18">
			<asp:Label id="ErrorLabel" runat="server" Visible="true" style="color:red" /></td></tr>
			<tr><td width="24%" align="center" height="25">
			<font color="#FF0000">*</font>主题:</td>
			<td width="76%" height="25">
			<asp:TextBox id="title" runat="server" maxlength="50" /></td></tr>
			<tr><td width="24%" align="center" height="50"><font color="#FF0000">*</font>内容:</td>
			<td width="76%" height="50">
			<asp:TextBox id="content" runat="server" textMode="Multiline" Rows="4" Columns="30" /></td></tr>
			<tr><td width="24%" align="center" height="18"><font color="#FF0000">*</font>您的姓名:</td>
			<td width="76%" height="18">
			<asp:TextBox id="name" runat="server" maxlength="20" /></td></tr>
			<tr><td width="24%" align="center" height="18">您的Email:</td>
			<td width="76%" height="18">
			<asp:TextBox id="email" runat="server" maxlength="30" /></td></tr>
			<tr><td width="24%" align="center" height="18">是否公开:</td>
			<td width="76%" height="18">
			<asp:RadioButtonList id="pprivate" runat="server" RepeatDirection="Horizontal">
				<asp:ListItem selected>公开</asp:ListItem> 
				<asp:ListItem>不公开</asp:ListItem>
			</asp:RadioButtonList></td></tr>
			<tr><td width="100%" align="right" colspan="2" height="9">
			<asp:Button id="finish" runat="server" Text="提交" onClick="checkfinish"/>&nbsp; 
			<input type="Reset" value="重写">&nbsp;
			<asp:Button id="cancel" runat="server" Text="放弃" onClick="cancel_Click" /></td></tr>
			<tr><td width="100%" colspan="2" height="9">注意:<br>
			&nbsp;&nbsp;&nbsp; 标有“<font color="#FF0000">*</font>”符号的项目是必须填写完整的。我们强烈建议您留下您的Email或者其他联系方式,以便我们与您取得联系。Dot.Net感谢您的留言!</td></tr>
		</table></td></tr>
	</table>
</asp:Panel>

	</td>
	<td width="25%" valign="top" background="images/db.gif" align="right" rowspan="2" height="125">
	<pb:Pic id="pic" runat="server" />
	<pb:Link id="link" runat="server" /></td></tr>
	<tr><td width="50%" valign="bottom" bgcolor="#FFFFFF" height="80" align="right">
	<img border="0" src="images/pen.gif" width="400" height="80"><br>&nbsp;</td></tr>
</table>
</div>

<pb:Footer id="footer" runat="server" />

</form>

</body>

</html>

<script language="VB" runat="server">

	Dim PageSize As Integer
	Dim CurP As Integer
	Dim TotalPage As Integer

	Sub Page_Load(Sender As Object, e As EventArgs)
		PageSize=10
		CurP=CInt(pagenow.value)
		RefreshGuest
	End Sub

	Sub toFirst_OnClick(Sender As Object, e As EventArgs)
		CurP=1
		pagenow.value="1"
		RefreshGuest
	End Sub

	Sub prepage_OnClick(Sender As Object, e As EventArgs)
		If CurP>1 Then
			CurP-=1
		Else
			CurP=1
		End If
		pagenow.value=CurP.ToString()
		RefreshGuest
	End Sub

	Sub nextpage_OnClick(Sender As Object, e As EventArgs)
		If CurP<TotalPage Then
			CurP+=1
		Else
			CurP=TotalPage
		End If
		pagenow.value=CurP.ToString()
		RefreshGuest
	End Sub

	Sub RefreshGuest
		Dim MyGuest As GuestDB=New GuestDB()

		Dim MyDV As DataView=MyGuest.GetGuest(CurP,PageSize,TotalPage)
		guestbook.DataSource=MyDV
		guestbook.DataBind()

		If CurP=1 Then
			prepage.Visible=false
			toFirst.Visible=false
		Else
			prepage.Visible=true
			toFirst.Visible=true
		End If
		If CurP=TotalPage Then
			nextpage.Visible=false
		Else
			nextpage.Visible=true
		End If
	End Sub

	Function pre(Original As String) As String
		If Original.Length>300 Then
			Return Left(Original, 300)+"&nbsp; <font color=blue> ……</font>"
		Else
			Return Original
		End If
	End Function

	Sub isay_Click(Sender As Object, e As EventArgs)
		guestbook.Visible=false
		sayform.Visible=true
		prepage.Visible=false
		nextpage.Visible=false
		toFirst.Visible=false
		isay.visible=false
		mes.Visible=true
	End Sub

	Sub cancel_Click(Sender As Object, e As EventArgs)
		sayform.Visible=false
		guestbook.Visible=true
		ErrorLabel.Text=""
		ErrorLabel.Visible=false
		isay.Visible=true
		If CurP=1 Then
			prepage.Visible=false
			toFirst.Visible=false
		Else
			prepage.Visible=true
			toFirst.Visible=true
		End If
		nextpage.Visible=true
		mes.Visible=false
		title.text=""
		content.text=""
		name.Text=""
		email.Text=""
		pprivate.SelectedIndex=0
	End Sub

	Sub Checkfinish(Sender As Object, e As EventArgs)
		Dim flag As Boolean=True
		Dim ErrorMsg As String =""
		If title.text.length>50 Or title.text.length<=0 Then
			flag=false
			ErrorMsg+="主题长度应在1-50之间!"
		End If
		If content.text="" Then
			flag=false
			ErrorMsg+="内容不能为空!"
		End If
		If name.text.length>20 Or name.text.length<=0 Then
			flag=false
			ErrorMsg+="名字应在1-20之间!"
		End If
		If email.text.length>0 And (Len(Replace(email.text,"@",""))=email.text.length Or Left(email.text,1)="@" Or Right(email.text,1)="@") Then
			flag=false
			ErrorMsg+="您的Email地址可能是错误的,请检查!"
		End If

		If flag Then
			ErrorLabel.Visible=false
			ErrorLabel.Text=""
			AddGuest()
		Else
			isay.Visible=false
			nextpage.Visible=false
			prepage.Visible=false
			toFirst.Visible=false
			ErrorLabel.Visible=true
			ErrorLabel.Text=ErrorMsg
		End If
	End Sub        

	Sub AddGuest()
		Dim MyGuest As Guest=New Guest()
		MyGuest.GuestTitle=title.Text
		MyGuest.GuestContent=content.Text
		MyGuest.GuestName=name.Text
		MyGuest.GuestEmail=email.Text
		MyGuest.GuestTime=now
		MyGuest.GuestIP=Request.ServerVariables("Remote_Addr")

		If pprivate.SelectedItem.Text="公开" Then
			MyGuest.GuestPrivate=false
		Else
			MyGuest.GuestPrivate=true
		End If

		Dim MyGuestDB As GuestDB=New GuestDB()
		If MyGuestDB.CheckSame(MyGuest) Then
			ErrorLabel.Text="请不要重复发言!"
			ErrorLabel.Visible=True
			nextpage.Visible=false
			toFirst.Visible=false
			prepage.Visible=false
		Else
			MyGuestDB.AddGuest(MyGuest)
			ErrorLabel.Visible=False
			sayform.Visible=false
			guestbook.Visible=true
			CurP=1
			RefreshGuest
			CurP=1
			isay.Visible=true
			nextpage.Visible=true
			mes.Visible=false
		End If
		title.text=""
		content.text=""
		name.Text=""
		email.Text=""
		pprivate.SelectedIndex=0
	End Sub

</script>
<style>
td {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-size : 10pt;
}
.whiteB {
	color: white;
	font-weight : bold;
}
input {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-size : 10pt;
}
td.bar {
	color: green; font-weight: bold;
}
a.whiteLink:link {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-weight : bold;
	color : white;
	text-decoration : none;
}
a.whiteLink:visited {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-weight : bold;
	color : white;
	text-decoration : none;
}
a.whiteLink:hover {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	font-weight : bold;
	color : white;
	text-decoration : none;
}
a.barLink:link {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #CCFF99;
	text-decoration : none;
}
a.barLink:visited {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #CCFF99;
	text-decoration : none;
}
a.barLink:hover {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : #CCFF99;
	text-decoration : underline;
}
a.author:link {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : black;
	text-decoration : none;
}
a.author:visited {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : black;
	text-decoration : none;
}
a.author:hover {
	font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
	color : black;
	text-decoration : underline;
}
</style>

⌨️ 快捷键说明

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