Проблема с SQL-оператором и PostBackUrl
У меня есть SQL-заявление, которое я разместил на этом сайте, и я подал заявку на своем веб-сайте, который работает и вставляет имя пользователя и информацию в базу данных вскоре после того, как пользователь нажмет кнопку отправки.
Это, однако, не происходит, когда я устанавливаю свойство PostBackUrl кнопок отправки. Когда я делаю это, никакие данные не вставляются, и вся функция, которая содержит выполнение оператора вставки, кажется, пропускается (так как я попытался нарочно ошибиться, и исключение не было выдано).
Как я могу заставить 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" />
1 ответ
Это приведет к
cross-page postback
, При нажатии на элемент управления Button текущая страница будет опубликована по указанному URL-адресу в свойстве кнопки PostbackURL. В этом случае событие нажатия кнопки не будет вызвано.
Для получения подробной информации, пожалуйста, проверьте из 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");
}