在模式对话框中对数据库的操作好像经常没有执行,是怎么回事?

stuhome 2003-08-20 06:00:44
我做了一个简易的测试留言本
留言的时候通过弹出模式对话框,在模式对话框点击“发送留言”按钮后刷新父窗口。但是我遇到的问题时,这个留言本好像不是通常都能成功留言(未报错)

我已经在模式对话框里去除了cache.

这个问题真是搞得我莫名其妙。有没有哪达人帮我看看怎么回事?

代码如下:
///////////////////模式窗口test_say.aspx///////////////////////
<%@ Page language="c#" Codebehind="test_say.aspx.cs" AutoEventWireup="false" Inherits="AE.test.test_say" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<asp:panel id="main_panel" visible="false" Runat="server">
<HTML>
<HEAD>
<title>test_say</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<META http-equiv="PRAGMA" content="NO-CACHE">
<META HTTP-EQUIV="Expires" CONTENT="0">
<LINK href="../style/main.css" type="text/css" rel="stylesheet">
</HEAD>
<body ondblclick="javascript:self.close()" topMargin="10" MS_POSITIONING="FlowLayout">
<form id="Form1" method="post" runat="server">
<asp:button id="Button1" runat="server" Text="Button"></asp:button>
<script>
function sendTo()
{
window.parent.returnValue = 1;
window.parent.close();
}
</script>
<P><FONT face="宋体">用户名 </FONT>
<asp:TextBox id="TextBox_name" runat="server"></asp:TextBox></P>
<P><FONT face="宋体">留 言
<asp:TextBox id="TextBox_say" runat="server" TextMode="MultiLine" Width="300px" Rows="10"></asp:TextBox></FONT></P>
<P><FONT face="宋体">
<asp:Button id="Button_say" runat="server" Text="发表留言"></asp:Button></P>
</FONT>
</form>

</body>
</HTML>
</asp:panel>
</asp:Panel>
<asp:Panel ID="iframe_panel" Runat=server>
<html>
<body>
<iframe style="width:100%;height:100%;border:0;" border=0 frameborder=0 src="test_say.aspx?frame=1&<%=Request.QueryString%>&<%=i%>"></iframe>
</body>
</html>
</asp:Panel>


///////////////////////////test_say.aspx.cs/////////////////////////////
…………
private void Page_Load(object sender, System.EventArgs e)
{
Random rd=new Random();
i=rd.Next(1,1000);
string isframe = "" + Request["frame"];
if (isframe != "")
{
main_panel.Visible=true;
iframe_panel.Visible=false;
}
Button_say.Attributes["onclick"]="sendTo()";
}
…………
private void Button_say_Click(object sender, System.EventArgs e)
{
Conn.ConnClass conn=new Conn.ConnClass();
conn.NonQuery("insert into gbook (name,say) values ('"+TextBox_name.Text+"','"+TextBox_say.Text+"')");
}

////////////////////////////////////////////////////////////
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
stuhome 2003-08-20
  • 打赏
  • 举报
回复
果然是这个问题,saucer(思归, MS .NET MVP)真是好人啊~
但是我还是不明白为什么有时候能够留言成功?
stuhome 2003-08-20
  • 打赏
  • 举报
回复
我去试一试~~
哇,saucer(思归, MS .NET MVP)现在还没有睡觉哦~

但是我有一个疑问:我有时候能够成功留言啊~但是有时候又不能。
saucer 2003-08-20
  • 打赏
  • 举报
回复
can you add a breakpoint inside Button_say_Click and to see if it ever get executed?

actually, since you have
Button_say.Attributes["onclick"]="sendTo()";

the client side is executed first, so Button_say_Click is never executed, try


private void Page_Load(object sender, System.EventArgs e)
{
Random rd=new Random();
i=rd.Next(1,1000);
string isframe = "" + Request["frame"];
if (isframe != "")
{
main_panel.Visible=true;
iframe_panel.Visible=false;
}
}
…………
private void Button_say_Click(object sender, System.EventArgs e)
{
Conn.ConnClass conn=new Conn.ConnClass();
conn.NonQuery("insert into gbook (name,say) values ('"+TextBox_name.Text+"','"+TextBox_say.Text+"')");
Page.RegisterStartupScript("Startup","<script language=JavaScript>sendTo();</" + "script>");
}


62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧