Hallo,
ich habe ein Problem mit CrosspagePostbacks. Folgendes Szenario:
<%@ Page Title="Home Page" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="Galileomusic._Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/seite2.aspx" />
</asp:Content>
auf seite2.asx hab ich in Codebehind folgenden Code platzier:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If PreviousPage IsNot Nothing AndAlso PreviousPage.IsCrossPagePostBack = True Then
If PreviousPage.Request("hidden") IsNot Nothing Then
....
End If
End If
End Sub
sowohl PreviousPage ist Nothing als auch PreviousPage.IsCrossPagePostback=False.
Das Problem scheint wohl hier zu liegen:
Imports System.Web.Routing
Imports Microsoft.AspNet.FriendlyUrls
Public Module RouteConfig
Sub RegisterRoutes(ByVal routes As RouteCollection)
Dim settings As FriendlyUrlSettings = New FriendlyUrlSettings()
settings.AutoRedirectMode = RedirectMode.Permanent
routes.EnableFriendlyUrls(settings)
End Sub
End Module
Ich habe irgendwo gelesen, dass FriendlyURLs den CrosspagePostbacks ein Problem bereitet, weil es die URLs verändert. Weiß jemand, wie man trotz FriendlyURLs die CrosspagePostbacks richtig hinbekommt, oder wie man FriendlyURLs deaktiviert? Wenn ich alles
auskommentiere, ist zwar PreviousPage nicht mehr Nothing und auch IsCrosspagePostback=True aber dann kann ich nicht auf PreviousPage.Request zugreifen. Die Exception lautet dann:
Request = {"Anforderung steht in diesem Kontext nicht zur Verfügung"}
Vielen Dank schonmal für die Hilfe
Daniel Dinkel