This article has been localized into German by the community.
Abfragezeichenfolge (GET-Data)
Eine der gebräuchlichsten Methoden, um Eingaben vom Benutzer in einer Webanwendung entgegenzunehmen, ist die Abfragezeichenfolge. In älteren Technologien, wie PHP und ASP Classic, würden Sie sich direkt mit der Abfragezeichenfolge befassen. Wie bereits erwähnt, hat ASP.NET MVC die Verarbeitung der Abfragezeichenfolgen in Parameter für Ihre Controller-Aktionen abstrahiert. In einigen Situationen ist es jedoch immer noch relevant, direkt aus der Abfragezeichenfolge zu lesen, und zum Glück ist dies in ASP.NET MVC immer noch sehr einfach.
Was ist die Abfragezeichenfolge?
URLs bestehen aus mehreren Teilen wie Protokoll, Hostname, Pfad usw. Die Abfragezeichenfolge ist der Teil der URL, der nach einem Fragezeichen steht. Also, in einer URL wie dieser:
https://www.google.com/search?q=test&oq=hello
Alles nach dem? Das Zeichen wird als Abfragezeichenfolge betrachtet. In diesem Fall gibt es zwei Parameter: einen mit dem Namen q und einen mit dem Namen oq. Sie haben die Werte "test" und "hello". Diese sind für die von der URL angezeigte Seite relevant. Beispielsweise wird der Parameter q verwendet, um dem Server mitzuteilen, wonach der Benutzer gerade gesucht hat. Die Abfragezeichenfolge wird normalerweise angehängt, wenn der Benutzer auf einen Link klickt oder ein FORMULAR sendet. Auf diese Weise kann dieselbe Datei auf Ihrem Server mehrere Situationen verarbeiten. Die zurückgegebene Ausgabe kann je nach Eingabe über die Abfragezeichenfolge variieren.
Zugriff auf die Abfragezeichenfolge
Der Zugriff auf die Abfragezeichenfolge in ASP.NET MVC ist sehr einfach. Verwenden Sie einfach die HttpContext-Klasse, um die es in diesem gesamten Kapitel geht. Die Informationen zur Abfragezeichenfolge werden mithilfe einer der folgenden Eigenschaften ermittelt: HttpContext.Request.QueryString und HttpContext.Request.Query. Der Unterschied besteht darin, dass der QueryString im Grunde die Rohtextzeichenfolge ist, während Sie mit der Query -Eigenschaft einfach auf Schlüssel und deren Werte zugreifen können. Wir werden die Query-Eigenschaft in den nächsten Beispielen verwenden, um zu zeigen, wie einfach es ist, damit zu arbeiten:
public class HomeController : Controller
{
public IActionResult QueryTest()
{
string name = "John Doe";
if (!String.IsNullOrEmpty(HttpContext.Request.Query["name"]))
name = HttpContext.Request.Query["name"];
return Content("Name from query string: " + name);
}
}
Die Seite könnte nun mit einer URL wie dieser aufgerufen werden, um den Namen des Benutzers wiederzugeben:
/Home/QueryTest?name=Jenna Doe
Wie Sie sehen, überprüfe ich einfach, ob ein Abfragezeichenfolgenparameter mit dem Namen "name" vorhanden ist, und wenn er vorhanden ist, lese ich ihn in die Variable ein.
Zusammenfassung
Der Zugriff auf die Abfragezeichenfolge in Ihrem ASP.NET MVC-Projekt ist dank der HttpContext-Klasse weiterhin einfach.