如何解决sql语句和PostBackUrl问题
| 我在该网站上发布了一条sql语句,并在我的网站上应用了该语句,该网站可以在用户按下“提交”按钮后立即将用户名和信息插入数据库。 但是,当设置提交按钮的PostBackUrl属性时,不会发生这种情况。当我这样做时,不会插入任何数据,并且似乎会跳过保留insert语句执行的整个函数(因为我试图故意犯一个错误,并且没有引发异常)。 我如何才能使postBackUrl工作,以便有时间插入数据? 工作sqlStatment: insertCommand.Append(\"DECLARE @TopicsId int; INSERT INTO Topics(Theme,Topics,Date)\");
insertCommand.Append(\"VALUES(@topic,@subTopic,GETDATE())\");
insertCommand.Append(\"SET @TopicsId = SCOPE_IDENTITY()\");
insertCommand.Append(\" INSERT INTO Threads(UsersID,TopicsID,Date,ThreadTitle,ThreadParagraph,ThreadClosed,Views,Replies,PageNumber)\");
insertCommand.Append(\" SELECT @uniqueIdentifier,@TopicsID,GETDATE(),@questionTitle,@questionParagraph,FLOOR(Count(t.TopicsID)/20)\");
insertCommand.Append(\" FROM Threads AS d INNER JOIN Topics AS t ON d.TopicsID=t.TopicsID\");
在以下情况下工作:
<asp:Button ID=\"sendButton1\" runat=\"server\" Text=\"שלח\" Width=\"60px\"
onclick=\"sendButton1_Click\" />
在以下情况下无法正常工作的sqlStatement:
<asp:Button ID=\"sendButton1\" runat=\"server\" Text=\"שלח\" Width=\"60px\"
onclick=\"sendButton1_Click\" PostBackUrl=\"~/AnswerQuestion.aspx\" />
解决方法
这将导致
cross-page postback
。当单击Button控件时,它将把当前页面发布到按钮的PostbackURL属性中提供的URL。在这种情况下,不会触发您的按钮Click事件。
有关详细信息,请从MSDN检查
EditL为什么不尝试这种简单操作,例如...
protected void Button1_Click(object sender,EventArgs e)
{
///.....Your Code.....
insertCommand.Append(\"DECLARE @TopicsId int; INSERT INTO Topics(Theme,Topics,Date)\");
insertCommand.Append(\"VALUES(@topic,@subTopic,GETDATE())\");
insertCommand.Append(\"SET @TopicsId = SCOPE_IDENTITY()\");
insertCommand.Append(\" INSERT INTO Threads(UsersID,TopicsID,Date,ThreadTitle,ThreadParagraph,ThreadClosed,Views,Replies,PageNumber)\");
insertCommand.Append(\" SELECT @uniqueIdentifier,@TopicsID,GETDATE(),@questionTitle,@questionParagraph,FLOOR(Count(t.TopicsID)/20)\");
insertCommand.Append(\" FROM Threads AS d INNER JOIN Topics AS t ON d.TopicsID=t.TopicsID\");
///..At the end add this......
Response.Redirect(\"~/AnswerQuestion.aspx\");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。