Wie aktualisiere Querystring in C #?
Irgendwo in der url, es ist ein &sortBy=6 . Wie aktualisiere ich diese zu &sortBy=4 oder &sortBy=2 auf einen button klicke? Brauche ich zu schreiben, benutzerdefinierte string-Funktionen zum erstellen der richtigen url weiterleiten?
Wenn ich nur das Anhängen eines query-string-variable, die ich tun würde,
string completeUrl = HttpContext.Current.Request.Url.AbsoluteUri + "&" + ...
Response.Redirect(completeUrl);
Aber was ich will zu tun ist, ändern Sie einen vorhandenen querystring-variable.
Kommentar zu dem Problem
Klingt wie Sie umgeleitet werden sollen, eine neue/aktualisierte url.
Es geht nicht um
C#
es geht um javascript. erfahren Sie mehr über die - Fenster.location
Objekt ja, das ist richtig
Ich möchte das im code behind (server-Seite)
Finden Sie die query-Variablen durch die Verwendung dieser Klasse: msdn.microsoft.com/en-us/library/...
InformationsquelleAutor der Frage developer747 | 2012-03-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zum ändern einer vorhandenen QueryString-Wert verwenden Sie diesen Ansatz:
Ich mehr ins detail gehen, in eine andere Antwort.
InformationsquelleAutor der Antwort Ahmad Mageed
Abrufen der querystring von sortby, dann führen Sie string ersetzen auf die vollständige Url wie folgt:
Lassen Sie mich wissen, wie es geht 🙂
Glück
InformationsquelleAutor der Antwort m.othman
InformationsquelleAutor der Antwort Mathias Nohall
Wenn Sie wirklich wollen, dies müssen Sie umleiten, um neue gleichen Seite mit geänderten query-string, wie bereits Menschen beantwortet. Wird diese erneut laden Sie Ihre Seite,das laden der Seite wieder nur für die änderung querystring, dass ist keine gute Praxis.
Aber Warum brauchen Sie diese?
Wenn Sie möchten, ändern Sie den Wert von sortBy von 6 auf 4 zu verwenden, die überall in der Anwendung, meine suggession ist, um den Wert zu speichern von query-string in eine variable oder Ansicht, und verwenden Sie diese Ansicht Stand überall.
Z.B.
im Page_Load können Sie schreiben
und überall sonst ( auch nach dem postback ) ViewState["SortBy"]
InformationsquelleAutor der Antwort Imran Rizvi
Basierend auf Ahmad Lösung, die ich erstellt habe folgende Methode, die allgemein eingesetzt werden können,
dann haben wir es wie folgt
InformationsquelleAutor der Antwort user2832159
Müssen Sie die Umleitung zu einer neuen URL. Wenn Sie brauchen, um einige Arbeit zu tun auf dem server vor der Umleitung gibt, müssen Sie Antwort benutzen.Redirect(...) in Ihrem code. Wenn Sie nicht brauchen, um Arbeit zu tun auf dem server nur die Verwendung HyperLink und machen es im Voraus.
Wenn Sie sich Fragen, über den Bau der eigentlichen URL ich kenne keine built-in Funktionen, die die Arbeit erledigen können. Können Sie Konstanten verwenden, die für Ihre Wege und QueryString Argumenten zu vermeiden, wiederholen Sie alle über Ihren code.
Den UriBuilder kann Ihnen helfen, Aufbau der URL, aber nicht den query-string
InformationsquelleAutor der Antwort Stilgar
Können Sie es tun) mit einigen javascript zum erstellen der query-string, und leiten Sie die Seite mit windows.öffnen.
Sonst können Sie Antwort.Redirect oder Server.Transfer auf der server-Seite.
InformationsquelleAutor der Antwort Strillo
SolrNet hat einige sehr hilfreiche Url-Erweiterung Methoden. http://code.google.com/p/solrnet/source/browse/trunk/SampleSolrApp/Helpers/UrlHelperExtensions.cs?r=512
InformationsquelleAutor der Antwort James Hull
Die einzige Möglichkeit, die Sie haben, ändern Sie die
QueryString
ist die Umleitung auf die gleiche Seite mit dem neuen QueryString:http://msdn.microsoft.com/en-us/library/a8wa7sdt(v=vs. 100).aspx
InformationsquelleAutor der Antwort Massimiliano Peluso
Ich denke, Sie könnte ein Ersatz der query-string in der folgenden Weise auf Ihre server-side-code.
InformationsquelleAutor der Antwort legrandviking
Den query-string AN den server übergeben wird. Sie kann sich mit den query-string als string, was Sie wollen - aber es nicht tun nichts, bis die Seite fertig ist, es erneut zu Lesen (D. H. zurück an den server gesendet). Also, wenn Sie Fragen, wie Sie sich mit den Wert eines query-string, den Sie nur einfach nur Zugang it-Anforderung.QueryString["key"]. Wenn Sie wollen, sind diese 'Veränderung' in den query-string berücksichtigt werden, indem die server, die Sie gerade brauchen, um effektiv laden Sie die Seite neu mit dem neuen Wert. So konstruieren Sie die url wieder
page.aspx?id=30
zum Beispiel, und übergeben Sie diese in eine redirect-Methode.InformationsquelleAutor der Antwort SkonJeet