В моем приложении я пытаюсь перенаправить на другую страницу после того, как запись вставлена в мой источник данных. Часть вставки работает нормально, но страница никогда не перенаправляется. Есть идеи? Вот мой текущий код:Asp.net, Response.Redirect не работает. Зачем?
ASPX
<asp:FormView ID="FormView1" runat="server" DataKeyNames="RecapID"
DataSourceID="RecapDataSource" DefaultMode="Insert">
<InsertItemTemplate>
Recap Date:
<asp:TextBox ID="RecapDateTextBox" runat="server"
Text='<%# Bind("RecapDate") %>' Width="80px" /><asp:RequiredFieldValidator runat="server" id="RequiredFieldValidator1" ControlToValidate="RecapDateTextBox" ErrorMessage="*" display="Dynamic" />
<asp:Button ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Create"/>
</InsertItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="RecapDataSource" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
InsertCommand="INSERT INTO [ftsrms_Recap] ([RecapDate]) VALUES (@RecapDate) SELECT @NewRecapID = SCOPE_IDENTITY()"
OldValuesParameterFormatString="original_{0}">
<InsertParameters>
<asp:Parameter DbType="Date" Name="RecapDate" />
<asp:Parameter Direction="Output" Name="NewRecapID" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>
ASPX.VB
Protected Sub RecapDataSource_Inserted(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
'Read the value of the @NewProductID OUTPUT parameter
Dim newRecapID As Integer = Convert.ToInt32(e.Command.Parameters("@NewRecapID").Value)
Response.Redirect("Profile.aspx?")
End Sub
Вы уверены, что RecapDataSource_Inserted обрабатывает событие Inserted? –
Вы можете установить точку останова на этой линии и посмотреть, действительно ли она попала в нее. Если нет, проблема в другом месте. – Koen