.
Anmeldung | Registrieren | Hilfe
in Suchen

Postparameter auslesen mittels Request.form

Letzter Beitrag 24. Jun 2009 10:16 von Compufreak. 6 Antworten.
Seite 1 von 1 (7 Treffer)
Beiträge sortieren: Zurück Weiter
  • 17. Jun 2009 21:06

    Postparameter auslesen mittels Request.form

    Hallo,

    kann mir jemand einen Tipp geben wie ich mittels Request.Form auf die ID "test" zugreifen kann?

    <asp:TextBox ID="test" runat="server"></asp:TextBox>

    Das Formular versende ich per LinkButton.

    <asp:LinkButton ID="Send" runat="server" PostBackUrl="page2.aspx" Text="Send" />

    Leider rendert das Framework die ID "test" in eine andere ID um so das ich darauf nicht mehr zugreifen kann.

    Sprich request.form["test"] funktioniert leider nicht. Im normalen ASP hatte es damals so funktioniert.

    Viele Grüße Dani

    • IP-Adresse ist Registriert
  • 18. Jun 2009 5:57 Antwort zu

    • Rene Muster
    • Top 50 Mitwirkender
    • Registriert am 22. Apr 2008
    • Erlangen
    • Beiträge 54
    • Punkte 795

    Postparameter auslesen mittels Request.form


    In der MSDN gibts dazu diver HowTos:
    How to: Post ASP.NET Web Pages to a Different Page

    Vor allem dieser Artikel:
    Cross-Page Posting in ASP.NET Web Pages
    • IP-Adresse ist Registriert
  • 18. Jun 2009 11:29 Antwort zu

    Postparameter auslesen mittels Request.form

    Hi Rene,

    die Beispiele habe ich probiert aber er findet bei mir nicht das Control.
    Was mache ich falsch?

    Linkbox in der Seite 1:
    <asp:LinkButton runat="server" Text="Info" PostBackUrl="~/d_default_details.aspx" />

    TextBox in der Seite 1:
    <asp:TextBox ID="TextBox1" Text="xxxx" runat="server" />


    Codebehind in der Seite 2:
    if (Page.PreviousPage != null)
    {
        TextBox SourceTextBox = (TextBox)Page.PreviousPage.FindControl("TextBox1");
        if (SourceTextBox != null)
        {
            Response.Write(SourceTextBox.Text);
        }
    }

    Incude in der Seite 2:
    <%@ PreviousPageType VirtualPath="~/d_default_overview.aspx" %>

    SourceTextBox ist leider immer null ...

    Verdamt, ich habe keine Idee mehr.

    • IP-Adresse ist Registriert
  • 22. Jun 2009 12:34 Antwort zu

    • Compufreak
    • Top 75 Mitwirkender
    • Registriert am 11. Jun 2009
    • Freiberg/Zwickau
    • Beiträge 30
    • Punkte 495

    Postparameter auslesen mittels Request.form

    Ist die TextBox irgendwie verschachtelt auf deiner Seite, also mit diversen Panels, Tabellen o.ä. umgeben? Ich hatte bei so einer Situation schonmal ein Problem mit Control.FindControl, das fand das Control erst, als ich umgebendesPanel.FindControl(...) benutzt habe. Weiß aber nicht, ob das Problem auch bei Page.FindControl auftreten kann.

    Ist mir leider nicht gelungen, das Problem zu reproduzieren, aber ich hoffe mal, mein Gedächtnis trügt mich nicht ;) Ansonsten wäre denke ich ein etwas umfangreicherer Quellcode hilfreich.

    Beste Grüße,

    Compu
    • IP-Adresse ist Registriert
  • 23. Jun 2009 21:43 Antwort zu

    Postparameter auslesen mittels Request.form

    Hi Compufrek,

    wir haben mal unsere kleine Demoversion unter http://freenet-homepage.de/aspdemo/demo.zip eingespielt. Da kann man den Templateaufbau gut erkennen und auch den Fehler reproduzieren.

    Könntest du dir das bitte auch mal anschauen? Ich hoffe jemand findet den Fehler sonst mach ich wieder das alte ASP ;-)

    Gruß Dani

    • IP-Adresse ist Registriert
  • 24. Jun 2009 7:51 Antwort zu

    • klaus_b
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 28. Jan 2008
    • Waldkraiburg
    • Beiträge 764
    • Punkte 12.255
    • Moderator

    Postparameter auslesen mittels Request.form

    Guten Morgen Dani,

    ich habe dein Demo jetzt nicht in VS angesehen. Was mir aber sofort auffällt ist: beide Seiten gehören zu einer einzigen Klasse _Default. Sowohl in der sender.aspx.cs als auch in der receiver.aspx.cs sieht deine Klassen-Definition wie folgt aus:

    public partial class _Default : System.Web.UI.Page
    {
    
    }

    Somit behandelst du alles innerhalb einer Klasse, die eigentlich auf 4 Dateien verteilt ist. Ich habe jetzt nichts getestet, aber wenn du eine Klasse Sender nennst und eine Klasse Receiver, sollte es funktionieren. Vergiss aber bitte nicht, in den Markup-Dateien das

    Inherits="_Default"%>
    auf den jeweiligen Klassennamen anzupassen.

    DanielaFischer:
    Ich hoffe jemand findet den Fehler sonst mach ich wieder das alte ASP ;-)
    Bist du Masochist?!? Wink

    Servus,
    Klaus

    klaus_b@.NET
    Alles was an .NET und C# Spass macht, ... oder manchmal auch nicht.
    • IP-Adresse ist Registriert
  • 24. Jun 2009 10:16 Antwort zu

    • Compufreak
    • Top 75 Mitwirkender
    • Registriert am 11. Jun 2009
    • Freiberg/Zwickau
    • Beiträge 30
    • Punkte 495

    Postparameter auslesen mittels Request.form

    Hallo Daniela, hallo Klaus,

    nach ein wenig rumprobieren habe ich festgestellt, dass das Problem tatsächlich bei der Verschachtelung liegt. Mit der Zeile da funktioniert es :
    TextBox oTextBox = (TextBox)Page.PreviousPage.Form.FindControl("Middle_Content").FindControl("Content").FindControl("TextBox1");


    Den Vorschlag von Klaus kann man natürlich auch beachten - ist zumindest sauberer ;)

    Bei solchen Problemen ist es übrigens (zumindest für mich) immer hilfreich, Breakpoints zu setzen und dann einfach mal Zeilen wie "Page.PreviousPage.Controls" zu schreiben, Maus drüber zu halten und zu gucken was da so drin steckt (insofern man Visual Studio benutzt)... Geht natürlich auch weiter mit "Page.PreviousPage.Controls[0].Controls" usw. usf... Teilweise kann man auch über das Menü dann durchklettern, nur manchmal fehlen dann diverse Reiter.

    Beste Grüße,

    Compu
    • IP-Adresse ist Registriert
Seite 1 von 1 (7 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum