做了个留言本,
其中有一个guest_write.aspx页面。加入了三个ascx用户控件(分别是top.ascx,add_word.ascx,bottom.ascx),其中add_word.ascx是添加留言的部分,先贴上源码Guest_write.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Guest_Write.aspx.cs" Inherits="Guest_Write" %>
<%@ Register Src="Control/top.ascx" TagName="top" TagPrefix="uc1" %>
<%@ Register Src="Control/AddWord.ascx" TagName="AddWord" TagPrefix="uc2" %>
<%@ Register Src="Control/buttom.ascx" TagName="buttom" TagPrefix="uc3" %>
<head runat="server">
<title>签写新的留言</title>
<link href="Style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<uc1:top ID="Top1" runat="server" />
<uc2:AddWord ID="AddWord1" runat="server" />
<uc3:buttom ID="Buttom1" runat="server" />
</form>
</body>
</html>关键部分:add_wrod.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AddWord.ascx.cs" Inherits="Control_AddWord" EnableViewState="false"%>
<script language="JavaScript" type="text/javascript">
function changeimage()
{
//document.form1.selectimg.value=document.form1.seleimage.value;
document.form1.showimage.src=document.form1.AddWord1_seleimage.value;
}
</script>
<center>
<table border="0" cellpadding="0" cellspacing="0" style="background-color:#FFFFFF">
<tr>
<td style="background-image: url(/Images/light_left.gif); width: 15px"></td>
<td align="center" style="width: 745px; height: 17px"><table border="1" cellpadding="4" cellspacing="0" bordercolor="#3873B3" class="tablestyle">
<tr>
<td colspan="3" align="center" style="background-image:url(/Images/bg_title.gif); height:20px">发 表 留 言 </td>
</tr>
<tr>
<td align="left" style="width:10%">姓名:</td>
<td align="left" style="width:40%">
<asp:TextBox ID="txtGuestName" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtGuestName"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
<td rowspan="5"><select id="seleimage" name="changeimg" onchange="changeimage();" runat="server" enableviewstate="false" >
<option selected="selected" value="images\man\01.gif">01</option>
<option value="images\man\02.gif">02</option>
<option value="images\man\03.gif">03</option>
......
<option value="images\man\20.gif">20</option>
</select>
<img src="../Images/man/01.gif" id="showimage" alt=""/></td>
</tr>
<tr align="left">
<td>邮箱:</td>
<td>
<asp:TextBox ID="txtGuestEmail" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RegularExpressionValidator ID="rvGuestname" runat="server" ControlToValidate="txtGuestEmail"
Display="Dynamic" ErrorMessage="*" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" EnableViewState="False"></asp:RegularExpressionValidator></td>
</tr>
<tr align="left">
<td>QQ号:</td>
<td>
<asp:TextBox ID="txtGuestQq" runat="server" EnableViewState="False"></asp:TextBox></td>
</tr>
<tr align="left">
<td>留言主题:</td>
<td>
<asp:TextBox ID="txtGuestTitle" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtGuestTitle"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
</tr>
<tr align="left">
<td>验证码:</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" EnableViewState="False"></asp:TextBox></td>
</tr>
<tr>
<td align="left">留言内容:</td>
<td colspan="2" align="left" valign="middle">
<asp:TextBox ID="txtGuestContent" runat="server" Rows="4" TextMode="MultiLine" EnableViewState="False"></asp:TextBox>
<img alt="粗体" src="../Images/ubb_bold.gif" style=" cursor:pointer"/>
<img alt="斜体" src="../Images/ubb_italicize.gif" style="cursor:pointer"/>
<img alt="下划线" src="../Images/ubb_underline.gif" style="cursor:pointer"/>
<img alt="超链接" src="../Images/ubb_url.gif" style="cursor:pointer" /></td>
</tr>
<tr>
<td>服务:</td>
<td colspan="2" align="left">
<asp:CheckBox ID="ChkServices" runat="server" Text="站长回复此留言时候发信给我(需填写正解的邮箱)" EnableViewState="False" /><asp:RequiredFieldValidator
ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtGuestContent"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td colspan="3" align="center">
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="提交" />
<input id="Reset1" type="reset" value="重置" /></td>
</tr>
</table></td>
<td style="background-image: url(/Images/light_right.gif); width: 12px">
</td>
</tr>
</table>
</center>add_word.ascx.csusing System;
....
using System.Web.UI.HtmlControls;
using Guestbook.Guestinfo;
using Guestbook.Operate;public partial class Control_AddWord : System.Web.UI.UserControl
{
DbGuest guest = new DbGuest();
Dboperate op = new Dboperate();
protected void Page_Load(object sender, EventArgs e)
{
if (Convert.ToBoolean(ConfigurationManager.AppSettings["enableEmail"]) == true)
{
ChkServices.Enabled = true;
}
else
{
ChkServices.Enabled = false;
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool chkEmailme;
if (ChkServices.Checked == false)
{
chkEmailme = false;
}
else
{
chkEmailme = true;
}
guest.GuestName = txtGuestName.Text;
guest.GuestEmail = txtGuestEmail.Text;
guest.GuestQq = txtGuestQq.Text;
guest.GuestTitle = txtGuestTitle.Text;
guest.GuestContent = txtGuestContent.Text;
guest.GuestIp = Request.UserHostAddress;
guest.GuestPostttime = DateTime.Now;
guest.GuestInfo = Request.ServerVariables["HTTP_USER_AGENT"];
guest.GuestPic = seleimage.Value;
guest.Ischeck = false;
guest.EmailMe = chkEmailme;
op.InsertNnews(guest);
txtGuestName.Text = null;
txtGuestEmail.Text = null;
txtGuestQq.Text = null;
txtGuestTitle.Text = null;
txtGuestContent.Text = null;
ChkServices.Checked = false;
}
}
现在guest_write.aspx页面中填写相应的内容后提交提示留言成功,但在这时候刷新该页面又提交了留言一次(我已经禁用了页面的viewstate),验证控件根本不起作用
大家帮帮忙?我昨天弄了一天,是所有办法都想尽了!!
其中有一个guest_write.aspx页面。加入了三个ascx用户控件(分别是top.ascx,add_word.ascx,bottom.ascx),其中add_word.ascx是添加留言的部分,先贴上源码Guest_write.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Guest_Write.aspx.cs" Inherits="Guest_Write" %>
<%@ Register Src="Control/top.ascx" TagName="top" TagPrefix="uc1" %>
<%@ Register Src="Control/AddWord.ascx" TagName="AddWord" TagPrefix="uc2" %>
<%@ Register Src="Control/buttom.ascx" TagName="buttom" TagPrefix="uc3" %>
<head runat="server">
<title>签写新的留言</title>
<link href="Style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<uc1:top ID="Top1" runat="server" />
<uc2:AddWord ID="AddWord1" runat="server" />
<uc3:buttom ID="Buttom1" runat="server" />
</form>
</body>
</html>关键部分:add_wrod.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AddWord.ascx.cs" Inherits="Control_AddWord" EnableViewState="false"%>
<script language="JavaScript" type="text/javascript">
function changeimage()
{
//document.form1.selectimg.value=document.form1.seleimage.value;
document.form1.showimage.src=document.form1.AddWord1_seleimage.value;
}
</script>
<center>
<table border="0" cellpadding="0" cellspacing="0" style="background-color:#FFFFFF">
<tr>
<td style="background-image: url(/Images/light_left.gif); width: 15px"></td>
<td align="center" style="width: 745px; height: 17px"><table border="1" cellpadding="4" cellspacing="0" bordercolor="#3873B3" class="tablestyle">
<tr>
<td colspan="3" align="center" style="background-image:url(/Images/bg_title.gif); height:20px">发 表 留 言 </td>
</tr>
<tr>
<td align="left" style="width:10%">姓名:</td>
<td align="left" style="width:40%">
<asp:TextBox ID="txtGuestName" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtGuestName"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
<td rowspan="5"><select id="seleimage" name="changeimg" onchange="changeimage();" runat="server" enableviewstate="false" >
<option selected="selected" value="images\man\01.gif">01</option>
<option value="images\man\02.gif">02</option>
<option value="images\man\03.gif">03</option>
......
<option value="images\man\20.gif">20</option>
</select>
<img src="../Images/man/01.gif" id="showimage" alt=""/></td>
</tr>
<tr align="left">
<td>邮箱:</td>
<td>
<asp:TextBox ID="txtGuestEmail" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RegularExpressionValidator ID="rvGuestname" runat="server" ControlToValidate="txtGuestEmail"
Display="Dynamic" ErrorMessage="*" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" EnableViewState="False"></asp:RegularExpressionValidator></td>
</tr>
<tr align="left">
<td>QQ号:</td>
<td>
<asp:TextBox ID="txtGuestQq" runat="server" EnableViewState="False"></asp:TextBox></td>
</tr>
<tr align="left">
<td>留言主题:</td>
<td>
<asp:TextBox ID="txtGuestTitle" runat="server" EnableViewState="False"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtGuestTitle"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
</tr>
<tr align="left">
<td>验证码:</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" EnableViewState="False"></asp:TextBox></td>
</tr>
<tr>
<td align="left">留言内容:</td>
<td colspan="2" align="left" valign="middle">
<asp:TextBox ID="txtGuestContent" runat="server" Rows="4" TextMode="MultiLine" EnableViewState="False"></asp:TextBox>
<img alt="粗体" src="../Images/ubb_bold.gif" style=" cursor:pointer"/>
<img alt="斜体" src="../Images/ubb_italicize.gif" style="cursor:pointer"/>
<img alt="下划线" src="../Images/ubb_underline.gif" style="cursor:pointer"/>
<img alt="超链接" src="../Images/ubb_url.gif" style="cursor:pointer" /></td>
</tr>
<tr>
<td>服务:</td>
<td colspan="2" align="left">
<asp:CheckBox ID="ChkServices" runat="server" Text="站长回复此留言时候发信给我(需填写正解的邮箱)" EnableViewState="False" /><asp:RequiredFieldValidator
ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtGuestContent"
Display="Dynamic" ErrorMessage="*" EnableViewState="False"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td colspan="3" align="center">
<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="提交" />
<input id="Reset1" type="reset" value="重置" /></td>
</tr>
</table></td>
<td style="background-image: url(/Images/light_right.gif); width: 12px">
</td>
</tr>
</table>
</center>add_word.ascx.csusing System;
....
using System.Web.UI.HtmlControls;
using Guestbook.Guestinfo;
using Guestbook.Operate;public partial class Control_AddWord : System.Web.UI.UserControl
{
DbGuest guest = new DbGuest();
Dboperate op = new Dboperate();
protected void Page_Load(object sender, EventArgs e)
{
if (Convert.ToBoolean(ConfigurationManager.AppSettings["enableEmail"]) == true)
{
ChkServices.Enabled = true;
}
else
{
ChkServices.Enabled = false;
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool chkEmailme;
if (ChkServices.Checked == false)
{
chkEmailme = false;
}
else
{
chkEmailme = true;
}
guest.GuestName = txtGuestName.Text;
guest.GuestEmail = txtGuestEmail.Text;
guest.GuestQq = txtGuestQq.Text;
guest.GuestTitle = txtGuestTitle.Text;
guest.GuestContent = txtGuestContent.Text;
guest.GuestIp = Request.UserHostAddress;
guest.GuestPostttime = DateTime.Now;
guest.GuestInfo = Request.ServerVariables["HTTP_USER_AGENT"];
guest.GuestPic = seleimage.Value;
guest.Ischeck = false;
guest.EmailMe = chkEmailme;
op.InsertNnews(guest);
txtGuestName.Text = null;
txtGuestEmail.Text = null;
txtGuestQq.Text = null;
txtGuestTitle.Text = null;
txtGuestContent.Text = null;
ChkServices.Checked = false;
}
}
现在guest_write.aspx页面中填写相应的内容后提交提示留言成功,但在这时候刷新该页面又提交了留言一次(我已经禁用了页面的viewstate),验证控件根本不起作用
大家帮帮忙?我昨天弄了一天,是所有办法都想尽了!!
解决方案 »
- iframe Session丢失 跳转到登陆页面问题
- 外网的数据插入到内网的数据库中
- 终于知道人们在回复的时候为什么总喜欢打“UP”
- 在Gridview中实现分页显示?(请教高手,谢谢)
- 弹出新窗口的问题
- 转化为money数据类型
- 在SQL中,存储字段的类型为MONEY型,读取时怎么不让其四舍五入?
- 关于datagrid的问题,很简单的,进来拿分
- 如何在.NET框架下创建Access数据库和表?
- 如何实现按字母A-Z进行DATAGRID分页?
- 问一个关于CAD图纸调用的问题 谁知道指导一下 谢谢各位!
- asp.net上的控件,如果按钮,双击时打不开代码扩展名为cs的文件,如果是usercontrol,则可以打开
顺便还请问: PostBackUrl=""与Response.Redirect有什么区别?
Response.Write("<script lanaguage='javascript'>alert('留言成功');location.href=location.href;</script>");
如果有分页,就是需要保存页面状态了,你可以参考一下上面连接中的方法,还有一个方法是采用 Webdiyer 的 AspNetPager 分页控件,他可以将页码设置成为url中的一个参数,例如第三页
XXX.aspx?page=3