Variablen per Browserzeile übergeben

Benzol

Erfahrenes Mitglied
ICh habe Jahrelang nur php gecodet... und steige Mommentan auf ASP.Net und C# um. Meine Frage habe ich ja schon gestellt: Kann ich immernoch Variablen in der Browserzeilke übergeben quasi "http://www.aspxtest.de/?i=12" und wie Lese ich die aus? Ist dann sofort i deklariert? Bitte helft mir, ist wirklich dringend!
 
Ja das kannst du immernoch.
Es sollte folgernmaßen aussehen:

Code:
http://www.meineanwendung.de?variable1=wert1&variable2=wert2

Aulesen tust du dies dann folgernaßen:

Code:
string variable1 = Request.Querystring["variable1"];
string variable2 = Request.Querystring["variable2"];
 
Hmm, das scheint nicht zu laufen. Welcher Klasse gehört denn das an? Ich habe etwas mit QueryString unter System.Web.httprequest gefunden, aber das scheint nicht das zu sein was du hier geschrieben hast. Hat jemand noch ne Ahnung?
 
Deine ASP-NET-Seite sollte ja normalerweise von 'System.Web.UI.Page' abgeleitet sein.
Das ist, wenn diese die Endung .aspx hat, glaube ich automatisch der Fall.
Die Klasse 'Page', welche die aktuelle Seite repräsentiert bekommt diese Eigenschaften zur Verfügung gestellt (wie auch 'Response' , 'Session', 'User', 'Application',usw).

Genau deshalb sollte es auch ohne weitere Klassenangabe funktionieren.

Über die System.Web.HttpRequest-Klasse kannst du es notfalls aber auch benutzen.

Code:
HttpContext context = System.Web.HttpContext.Current;
context.Request...
 
Ich danke, das Problem ist halt, das ich ein Webpart für den Sharepoint erstelle und da keine reinen Serverscripte akzeptiert werden.
 
Ne, auch das funktioniert leider nicht. Habe das jetzt so:

Code:
HttpContext context = System.Web.HttpContext.Current;
context.Request.QueryString["kw"];
Und bekomme diese Fehlermeldung:
C:\webparts\SimpleWebPart\WebPart1.cs(82): 'System.Web.HttpRequest.QueryString' denotes a 'property' where a 'method' was expected

Habe leider noch nicht soviel Ahnung von der Sprache... in phph war das alles Einfacher :suspekt:
 
Hm, alles sehr komisch :)

Was benutzt du denn für eine IDE? Visual Studio.NET?
Oder vielleicht kannst du mal mehr Code (am besten mit der Klassendeklaration oder fast alles :)) von der Datei posten.
 
Da hast du wohl recht. Ich mache zum Glück schon langsame Fortschritte, aber das ist immer noch ein Problem ;) Ich gebe dir mal den Kopf vom Quellcode... weil alles darunter wäre jetzt doch zuviel.

Code:
sing System;
using System.Data;
using System.Globalization;
using System.ComponentModel;
using System.Web;
using System.Web.UI;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;
using System.Data.SqlClient;
using System.DirectoryServices;

namespace SimpleWebPart
{
	/// <summary>
	/// Description for WebPart1.
	/// </summary>
	[DefaultProperty("Text"),
		ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
		XmlRoot(Namespace="SimpleWebPart")]
	public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
	{...

usw. ^^ Ich weiss nicht, ob du dich schonmal mit webparts beschäftig hast... ich denke aber, das es kein Problem sein sollte, das ein Webpart solche Infos bekommen kann.
Entwickeln tue ich hier auf Arbeit mit VisualStudio 2003 und zu Haus mit #Develop.
 
Ich beschreibe es nochmal genauer. So ein Webpart wird in eine Webpartpage reingeladen. Der Code von diesem Webpart steckt in in einer dll im verzeichniss BIN vom wwwroot. Die WepPartPages liegen in der Content Database vom SharePoint Portal.
Ein Webpart hat die Methode RenderWebPart in welcher der bearbeitete Code ausgegeben wird. Schreiben tue ich das alles mit C# und ich möchte jetzt, das Variablen aus der Browserzeile "gezogen" werden und dann vor der Ausgabe verarbeitet werden können. Ansonsten würde sich das WebPart System als sehr Undynamisch erweisen :rolleyes: Ich bitte nochmals um Hilfe, da ich sonst einfach nicht weiterkomme :(
 

Neue Beiträge

Zurück