我有一个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,0,0,0,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" />发布于 2011-06-13 14:44:15
这将导致
cross-page postback。当单击Button控件时,它会将当前页面发送到按钮的PostbackURL属性中提供的URL。在这种情况下,您的按钮单击事件不会被触发。
有关详细信息,请查看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,0,0,0,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");
}https://stackoverflow.com/questions/6327240
复制相似问题