Laden...

Forenbeiträge von Cord Worthmann Ingesamt 1.215 Beiträge

29.12.2005 - 18:23 Uhr

Die eigenen Bibliotheken müssen ins /bin-Verzeichnis Deiner WebApp kopiert werden.
Dann kannst Du sie über eine Page-Directive bekannt machen...

<% @Import Namespace="MyNamespace" %>

Grüsse

29.12.2005 - 18:11 Uhr

Mit einem vorgefertigten Grid wirst Du das wohl nicht machbar sein, da Du keinen direkten Zugriff auf die vom Grid generierten Buttons hast, um sie mit einem entsprechenden ClickHandler zu belegen.

Grüsse
Cord

21.12.2005 - 23:43 Uhr

Original von maiz
Ich glaube das ist die beste Möglichkeit, so werde ich das mal probieren. Wenn ich das dann beim ersten Ladevorgang irgendwo reinspeichere (verstecktes Label oder so) Denn dann bleibt das auch erhalten, wenn die Seite mehrmals neu geladen wird.

Page.RegisterHiddenField("name", "value");

Grüsse

20.12.2005 - 18:08 Uhr

Du kannst das mit einem Submit Button hervorragend lösen, denn dafür gibt es ja das name Attribut...



<script runat="server">

    void Page_Load(object sender, EventArgs e)
    {
        if (this.IsPostBack)
        {
            string navigator = this.Request.Form["navigator"];
            switch (navigator)
            {
                case "first":
                    // do something
                    break;
                case "prev":
                    // do something
                    break;
                case "next":
                    // do something
                    break;
                case "last":
                    // do something
                    break;
            }
        }
    }

</script>
...
<input type="submit" name="navigator" value="first"/><br/>
<input type="submit" name="navigator" value="prev"/><br/>
<input type="submit" name="navigator" value="next"/><br/>
<input type="submit" name="navigator" value="last"/>

Grüsse
Cord

16.12.2005 - 16:34 Uhr

@herbivore:
Das scheint ein sehr guter Ansatz zu sein, bis jetzt habe ich immer die RGB-Werte direkt maipuliert, wobei aber eben der charakteristische Effekt der tongebenden Teilfarbe abgeschwächt werden konnte.

@norman_timo:
Deswegen habe ich verschachtelte DIVs gewählt...



<div style="border-width:1px;border-style:solid;border-color:#hellerSchatten #dunklerSchatten #dunklerSchatten #hellerSchatten;">
    <div style="border-width:1px;border-style:solid;border-color:#helleFarbe #dunkleFarbe #dunkleFarbe #helleFarbe;background-color:#hellerSchatten;">
        ...
    </div>
</div>

Die Hintergrundfarbe deckt sich immer mit der lightSchadowColor.

Grüsse
Cord

15.12.2005 - 23:17 Uhr

Moin Community,

ich suche dringend einen Algo, der mir aus einer gegebenen Grund/Hintergrundfarbe passende Edge 3D Schattierungen errechnet.
Für die beleuchteten Seiten sollen dies "LightShadowColor" u. "LightColor" sein, für die von der Lichtquelle abgewandten dementsprechend "DarkColor" u. "DarkShadowColor".

Der Hintergrund - für verschachtelte HTML DIVs soll ein 3D-Border-Effekt simuliert werden, der automatisch aus einer gegebenen Hintergrundfarbe erstellt wird.

Bin für jede Anregung dankbar!
🙂

Grüsse
Cord

12.12.2005 - 19:28 Uhr

Original von AlfameisterT
Gibt's im Framework was Fertiges für CssStyleCollection to HtmlStyleAttribute?

Nichts Explizites, die Umwandlung wird innerhalb der Render-Methoden der entsprechenden Controls vorgenommen. Bei Webcontrol wird es wahrscheinlich während AddAttributesToRender passieren.

Grüsse
Cord

11.12.2005 - 01:02 Uhr

An welcher Stelle (bezogen auf den Page Zyklus) notierst Du die CSS-Eigenschaften? Eventuell sind da bereits die Attribute gerendert. Ansonsten geht das bei mir immer einwandfrei.
Verwende der Einfachheit halber this.Style.Add anstelle this.Attributes.CssStyle.Add.

Grüsse
Cord

08.12.2005 - 16:11 Uhr

Irgendwie liegt die Vermutung nah, dass Du das Session Objekt völlig falsch verwendest.
Jeder Browser-Instanz wird eine eigene Session zugeordnet, und deren Inhalte vermischen sich ganz bestimmt nicht auf dem Server.
Wie testest Du das ganze denn? Hast Du evtl. cookieless="true" gesetzt und kopierst laufend den Link in die Adresszeile? Wenn ja, dann teilen sich natürlich alle dieselbe Session, da sie voraussichtlich auch dieselbe IP verwenden.

Grüsse

08.12.2005 - 15:59 Uhr

Versuche mal folgendes...



<body onload="if(top!=this)top.location.href=this.location.href">
...oder...

<body onload="if(top.location!=this.location)top.location.href=this.location.href">

Grüsse

07.12.2005 - 23:33 Uhr

Doch, es ist grottenlahm!

Aber das liegt wohl eher daran, dass ich z. Z. mit ISDN unterwegs bin...
😉

Grüsse
Cord

06.12.2005 - 23:03 Uhr

Wenn du es in die config schreibst, gilt es fürs gesamte Web, wenn Du es in den Code schreibst, gilt es erst, wen der Code abgearbeitet wird.

Das Dein IntelliSense das nicht findet, ist klar. Es muss darf ja auch nicht Page.Session.Timeout heissen.
😉
Page steht nur am Beginn, weil es sich um eine Eigenschaft der Page Klasse dreht - ich weiss ja nicht, in welchem Kontext Du darauf zugreifen willst. Wenn Du es im Seitencode aufrufst, schreibst Du this.Session.Timeout.

Kleiner Tip - fange mal damit an, die MSDN zu verwenden. Das ist viel hilfreicher, als alles, was Du nicht auf Anhieb weisst, im Forum zu posten.

Grüsse

06.12.2005 - 22:54 Uhr

Was für ein Protokoll?
Ein Webserver verwendet HTTP - und in den Antworten, die er per HTTP verschickt, befinden sich im HTTP Header Daten wie Cookies, Angaben zur Server-Software etc. und im HTTP Body befindet sich in der Regel HTML.

06.12.2005 - 22:49 Uhr

Hast Du denn gar keine Phantasie, wie man das fixen könnte...
😉



<body onload="if(top.location.href!=this.location.href)top.location.href=this.location.href">

Grüsse

05.12.2005 - 16:45 Uhr

Original von gnarl
füge dies zu Deiner Web.config hinzu:

<httpRuntime maxRequestLength="10192" />

Das ist für 10 MB, du kannst es aber so groß machen wie du willst.

Das ist leider nicht richtig. Die maximale Grösse des Upload-Puffers beträgt beim IIS 4 MB.
Wenn man grössere Uploads einplant, muss man sich einen IsapiFilter basteln (System.Web.IHttpModule), der den Upload-Stream entgegennimmt. Allerdings gibt es dazu auch bereits allerhand freie Module im Web.

Grüsse

05.12.2005 - 16:40 Uhr

Mache folgenden Eintrag in die Startseite...



<body onload="top.location.href=this.location.href">

Funktioniert aber nur bei aktiviertem Javascript.

Grüsse

05.12.2005 - 16:27 Uhr

Der Webserver sendet nur HTML oder binäre Daten an den Client - Du wirst um das Parsen nicht herumkommen.

Grüsse

05.12.2005 - 16:24 Uhr

Einfach 'mal einen Blick in die MSDN werfen...



// im Code
Page.Session.Timeout = 30;

// in der web.config
...
<session timeout="30"/>
...

Du kannst gar nicht auf Variablen einer anderen Seite zugreifen, da Instanzen des Page-Objekts Handler sind, die nur zur Zeit des jeweiligen Aufrufs existieren.
Wenn Du Variablen benötigst, die von mehreren Seiten aus verwendet werden sollen, muss Du diese in eine dll auslagern.

Grüsse

05.12.2005 - 16:18 Uhr

Verstehe ich das richtig - Du hast ein Forms-Control in eine Webanwendung eingebettet?

Wenn dem so ist, dann kannst Du davon ausgehen, dass es von keinem anderen Browser als dem MSIE6.0+ angezeigt werden wird.

Grüsse

04.12.2005 - 00:35 Uhr

Jap, offensichtlich hast Du Recht.
Explizite Implementation von Interfaces ist in bezug auf die implementierende Klasse völlig gekapselt.

Grüsse

03.12.2005 - 23:30 Uhr

Hi herbivore,

nein, ich meine eher so...

public interface I
{
    void M();
}

public class O : I
{
    void I.M()
    {
        Console.WriteLine("O.I.M");
    }
}

public class U : O, I
{
    void I.M()
    {
        if (dies == das)
            Console.WriteLine("U.I.M");
        else
            (base as I).M();     // *base* in diesem Zusammenhang ist natürlich falsch...
    }
}

Ich weiss einfach nicht, wie ich in diesem Kontext auf die von der Basisklasse implementierte Methode zugreifen kann.

Grüsse

03.12.2005 - 22:24 Uhr

Moin Community,

gerade beschäftige ich mich mit einem Problem, bei dem ich von einer Klasse erbe, die Methoden eines bestimmten Interface' explizit implementiert.
Ich möchte diese Methoden selber implementieren aber ggf. auch auf die Implementation der Basisklasse zurückgreifen - wie kann ich das bewerkstelligen, da base im Kontext expliziter Interface Implementation offensichtlich ungültig ist?

Grüsse
Cord

02.12.2005 - 22:50 Uhr

Das ganze kann auch einfach per HTML gelöst werden...

Nimm anstelle des Buttons nen Link und trage bei dem als Target "_Top" ein.

Grüsse

02.12.2005 - 22:38 Uhr

So geht das nicht. Images werden per HTML eingebunden.
Schau dir einmal das HTML Tag <image> oder das WebControl "Image" dazu an.

Grüsse

02.12.2005 - 22:33 Uhr

Du solltest dir Gedanken über die grundsätzliche Architektur Deiner Anwendung machen, denke ich.
Der Rechner, der die Multimediaanwendung ausführt, sollte nicht als Server ausgelegt sein, da Multimedia eindeutig Client-Bereich ist.

Du könntest das vielleicht besser per Remoting lösen. Damit wird Dein Multimedia-Rechner quasi fernsteuerbar.
Grundkonzeptionell ist er natürlich schon ein Server - das betrifft dann aber nur den Eingriff in die Steuerung von ausserhalb.

Grüsse

02.12.2005 - 00:19 Uhr

Andere Möglichkeiten gibt es leider nicht - ein FileUpload kann genau eine Datei versenden, Du bräuchtest dann mehrere Uploads.

Grüsse

02.12.2005 - 00:16 Uhr

string myPOSTvar = this.Request.Form["myPOSTvar"];

Grüsse

02.12.2005 - 00:07 Uhr

So ist es.

Die dll gehört ins /bin Deiner WebApp - und dann kannst Du es per @Import Direktive in jeder Seite referenzieren.

Grüsse

02.12.2005 - 00:01 Uhr

Webanwendungen sind Serveranwendungen, und diese öffnen keine GUIs.
Wer sollte die auch betrachten? Ein Server ist im Normalfall nicht als Desktop angelegt.

Grüsse

01.12.2005 - 23:59 Uhr

In Verbindung mit WindowsAuthentication ist das leider nicht möglich.
Bei der erfolgreichen Authentifizierung wird eine zusätzliche Variable im HTTP-Header der Browser-Instanz angelegt, die Du servergesteuert nicht wieder entfernen kannst.
Du müsstest den User veranlassen, das Browserfenster und sämtliche aus dieser Instanz geöffneten Fenster zu schliessen, damit der Login ungültig wird.

Grüsse

25.11.2005 - 18:41 Uhr

Was heisst, die Firma erlaubt die Installation nicht?
Ist auf dem Webserver ASP.NET grundsätzlich vorhanden oder nicht?

Grüsse

25.11.2005 - 18:39 Uhr

Vielleicht zippen und auf dem Server entpacken?
Bei icsharpcode.net gibt es eine freie zip-Komponente für NET.

Grüsse

25.11.2005 - 18:31 Uhr

Die Klassen-Integrität erfordert bei ASP.NET, dass die Postdaten von ServerSteuerelementen stets an dieselbe Seite gesendet werden. Daher überschreibt die Runtime automatisch das action-attribut des <form> tags, welches das Attribut runat="server" enthält.
Willst Du Daten an eine andere Seite senden, musst Du ein weiteres <form> tag verwenden oder aus dem vorhandenen das runat-Attribut entfernen.

Grüsse

24.11.2005 - 19:09 Uhr

@Molta:
POST Daten sendest Du in ASP.NET genauso wie in PHP, denn beide verwenden HTTP als Anwendungsprotokoll.
Was in PHP z. B. $GLOBALS['myVar'] heisst, rufst Du in ASP.NET per this.Request.Forms["myVar"] ab.

Grüsse

24.11.2005 - 18:55 Uhr

Wenn eine Klasse/Methode/Property als "obsolete" markiert sind, solltest Du sie nicht mehr verwenden, da sie höchstwahrscheinlich mit der nächsten Version verschwinden.
😉

Grüsse

22.11.2005 - 18:55 Uhr

Den wird es wohl nicht geben, denke ich...
Wie wäre es mit selber die Ärmel hochkrempeln?
😉

Grüsse
Cord

22.11.2005 - 18:53 Uhr

Bist Du sicher, dass es für Google in Ordnung ist, wenn Du ihre Seiteninhalte in dieser Hinsicht verändert anzeigst?
Solltest Du die entsprechende Software verbreiten, könntest Du enormen (finanziellen) Ärger bekommen, denke ich.

Grüsse
Cord

22.11.2005 - 18:47 Uhr

document.forms[0].submit();

Grüsse
Cord

19.11.2005 - 14:11 Uhr

Super Sache!

*thumbs_up*

Grüsse
Cord

18.11.2005 - 15:33 Uhr

Du kannst von einer Klasse nicht an das aktuelle Page Objekt herankommen, da dieses erst nach der Übergabe des HTTP-Anfrage an den RequestHandler existiert und ausserhalb dieses Prozesses nicht bekannt ist. Könnte ja auch sein, dass man den Request einmal an einen eigenen Handler übergeben will, da würde dann niemals ein Page Objekt initialisiert werden.
Du musst also an irgendeiner Stelle das Page Objekt an eine statische Instanz Deiner Klasse übergeben, z. B. in der Routine "Page_Init".

Grüsse
Cord

16.11.2005 - 16:41 Uhr

Das Problem mit der SessionID ist vor allem, dass diese an die Browser Instanz gebunden ist. Öffnet der eingeloggte Benutzer die Site in einem anderen Fenster, erhält er eine neue SessionID und kann somit nicht mehr gegen die Tabelle mit den gespeicherten Sessions zugeordnet werden. Authentifiziert sich der User in diesem zweiten Fenster erneut, so müsste bei der Authentifizierung konsequenter Weise die bestehende Authentifizierung gelöscht werden (da ja sonst zwei unterschiedliche Einträge zum selben Benutzer bestehen), was wiederum die Sitzung im ersten Fenster killt.

Wenn Du per FormsAuthentication ein persistentes Cookie erstellst, wird dieses von allen Instanzen des Browsers gelesen und übertragen.

Grüsse
Cord

14.11.2005 - 13:49 Uhr

Na ja, JavaScript läuft auf dem Client ab und ASP.NET auf dem Server. Die Daten werden per HTTP in String-Form übertragen. Wie willst Du also ein Objekt von ASP.NET einfach so durch Weitergabe einer Variablen nach JavaScript übergeben?
Darüberhinaus ist JavaScript eine völlig andere sprache, die natürlich auch andere Datentypen wie C# verwendet.
😉

Du musst das String-Array also in ein JavaScript-Array umwandeln...



string[] array = new string[] {"a","b","c"};

StingBuilder js_array = new StringBuilder("new Array(");

for (int i=0; i<array.Length-1; i++)
    js_array.Append(array[i] + ",");

js_array.Append(array[array.Length-1] + ")");

Die Variable js_array trägt nun den Wert Deines Arrays aus dem ASP.NET Code.

Grüsse
cord

14.11.2005 - 13:37 Uhr

Original von tomaten
Ein "abgesegnetes" Zertifikat braucht man ja wohl nur bei einem öffentlichen Server, damit Benutzer mit Verfolgungswahn nicht das Fracksausen bekommen.

*gggg*

@f.ritz:
AFAIK ist X.509 ein von SSL verwendetes Zertifikat.

Original von f.ritz
...nur fand ich bis jetzt dazu auch nichts im Internet.

Ist nicht Dein Ernst, oder...
http://www.google.com/search?sourceid=mozclient&ie=utf-8&oe=utf-8&q=ASP.NET+X.509
😉

14.11.2005 - 13:22 Uhr

Du musst ja nicht die gesamte Referenz durcharbeiten sondern nur den HTML und den CSS Teil. Das schaffst Du an einem langen Wochenende, wenn du fleisssig bist.

Grüsse
Cord

13.11.2005 - 16:02 Uhr

Es ist genauso, wie burning snow es sagte - entweder eine VPN Verbindung oder SSL.
Was spricht gegen SSL, die Kosten eines Zertifikats?
Sicher genug sollte es auf jeden Fall sein, denn die meisten Browser unterstützen heute SSLv3.0/TLSv1.0, was als hinreichender Sicherheitsstandard angesehen wird.

Grüsse
Cord

11.11.2005 - 15:46 Uhr

Füge der Datei web.config in Deinem Web Root mal folgendes hinzu...


<configuration>
    <system.web>
        <compilation debug="true"/>
        <customErrors mode="Off"/>
    </system.web>
</configuration>


Grüsse

10.11.2005 - 11:26 Uhr

Hmmm, hört sich echt phren an.
Poste doch mal Deinen Code oder schick ihn mir rüber.

Grüsse

10.11.2005 - 08:55 Uhr

Am besten ist es, wenn Du Zugriffe auf solche Dinge wie Datensätze grundsätzlich über die Überprüfung der Session Gültigkeit prüfst; eventuell auch noch den Referer abfragen. Sind beide Variablen leer, dann ist die Chance grösser, dass der User die Seite manipuliert hat, und Du führst die gewünschte Operation sicherheitshalber nicht aus.
Am sichersten ist aber auf jeden Fall der Vorschlag meines Vorposters - Du musst die ID eben dynamisch in den Link eintragen, damit Du sie gleichzeitig in der Session Variablen ablegen kannst.

Grüsse
Cord

10.11.2005 - 08:46 Uhr

Ganz genau geht's so...

Per Console zum Verzeichnis navigieren, welches Die aktuelle Framework Version enthält - z. B. C:\WINNT\Microsoft.NET\Framework\v2.0.50727 - dort dann folgenes Programm/Parameter aufrufen: aspnet_regiis -i.

Grüsse
Cord

10.11.2005 - 08:41 Uhr

Ein Postback wird ausgelöst, wenn Daten vom Client per HTTP POST zum Server übertragen wurden und ein ViewState Wert in diesen Daten vorhanden ist.
Zu deutsch heisst das, immer wenn Du Formularinhalte abschickst, deren Controls auf Deiner ASP.NET Page innerhalb des <form> Tags liegen, welches das runat="server" Attribut besitzt.

Grüsse
Cord