Laden...

Forenbeiträge von schuppsl Ingesamt 789 Beiträge

20.11.2008 - 11:27 Uhr

Du musst hinter die klammern "<>" noch zwei runde setzen 🙂

EDIT: List foo = new List<string,string>();

*Autsch* X(

So natürlich:


Dictionary<Guid, Dictionary<string,string>> dic = new Dictionary<Guid, Dictionary<string,string>>();

Danke, daß Du mich von der Leitung runtergeschubst hast.

EDIT: Jack war schneller als ich

20.11.2008 - 11:16 Uhr

Hallo schuppsl,

Warum sollte Dictionary<Guid,Dictionary<string,string>> nicht gehen?

Gruß
Juy Juka

Weil der Compiler Meckert:

Fehler 5 "System.Collections.Generic.Dictionary<System.Guid,System.Collections.Generic.Dictionary<string,string>>" ist ein(e) "Typ", wird aber wie ein(e) "Variable" verwendet.

@JAck30lena

Gute Idee!

20.11.2008 - 11:08 Uhr

Hallo.

Ich möchte ein Array erstellen, das folgendermaßen aussieht:

Guid{"var1", "Max,Mustermann"}
{"var2", "Sonstwas"}
{"var3","Mehr sonstwas"}
{"var4", " ne menge sonstwas"}

Guid{"var1", "Max,Mustermann"}
{"var2", "Sonstwas"}
{"var3","Mehr sonstwas"}
{"var4", " ne menge sonstwas"}

Guid{"var1", "Max,Mustermann"}
{"var2", "Sonstwas"}
{"var3","Mehr sonstwas"}
{"var4", " ne menge sonstwas"}

Ich sollte dann Beispielsweise so drauf zugreifen kommen:

string meinString = Array[Guid][var3];

Die einzelnen Pakete

Guid{"var1", "Max,Mustermann"}
{"var2", "Sonstwas"}
{"var3","Mehr sonstwas"}
{"var4", " ne menge sonstwas"}

Sollte ich bequem per .Add hinzufügen können.

Im Prinzip wäre das hier richtig:


Dictionary<Guid,Dictionary<string,string>>;

Aber das geht nun mal nicht🙂

Wie kann man so etwas am einfachsten bewerkstellingen?

20.11.2008 - 09:48 Uhr

Danke!

19.11.2008 - 15:04 Uhr

Hallo.

Ich habe in einem Dictionary Key-value paare gespeichert:


  public Dictionary<Guid, string> UserList = new Dictionary<Guid, string>();


In diesem Dictionary werden nun, sagen wir 10 Wert-Schlüsselpaare hinzugefügt.

Nun sollte ich prüfen, ob ein bestimmter Key ein bestimmtes Value hat.
Also die Paare gehören immer zusammen und ich sollte sie auch zusammen prüfen.
Zu einer bestimmten Guid gehört auch ein bestimmter string.

Es gibt’s ja Klassenmember, mit denen ich alles mögliche prüfen kann, ob der key vorhanden ist ob der value vorhanden ist:


ContainyKey
ContainsValue

Gibt es aber keine Möglichkeit **beides **auf einmal zu vergleichen?

19.11.2008 - 08:04 Uhr

Möchte ich in der Projektkonfiguration unter "web" den Lokalen IIS-Webserver verwenden möchte er beim speichern ein virtuellen Verzeichnis angeben.

Dann kommt aber die Fehlermeldung:

Die Url
>
ist bereits einem anderen Orderspeicherort zugeordnet.

Damit kann ich nichts anfangen.
Wo könnte der Fehler liegen?

Muss ich das überhaupt machen um auf dem IIS zu debuggen?

18.11.2008 - 16:52 Uhr

Hm.

Hänge ich nun den inetinfo.exe oder den msvcmon.exe dran?

Den IIS starte ich ganz normal?
Und davor den Monitor?

Habe beides schon versucht, es wird nicht ge-debuggt...

Als ich noch ISAPI DLLS mit C/C++ Programmiert hatte, hat das mit dem Anhängen des infeinfo.exe Prozesses und debuggen prima funktioniert, nur jetzt mir asp.net nicht...

18.11.2008 - 16:42 Uhr

keine ahung wovon du da schreibst aber wenn du die solution aufmachst und dich im menu -> attach to process -> remote..... anhängst gehts sofort los.... dann musst du die seite nur noch im browser aufrufen.

Nun...normalerweise starte ich den Debugger mit F5.
Dann geht der Webbrowser auf und zeigt die Seite an:
z.B.:


>

Exportiere ich das Projekt in ein Verzeichnis, lege ich im IIS das Basisverzeichnis an und starte den IIS, dann gebe ich die Adesse im Browser ein:

z.B.:


>

Nun starte ich das Ganze ja mit dem RemoteDebugger.
Wie rufe ich nun meine Seite auf?

18.11.2008 - 16:37 Uhr

Der Grund ist der:

Ich serialisiere eine Session mit Daten mit dem XMLSerializer.
Diese deserialisieren ich auch wieder.

Beim deserialisieren kommt von einem externen Client die Fehlermeldung, daß das Zeichen 0x1E für die XML Datei nicht gültig ist.

Teste ich das lokal, kommt diese Meldung nicht.

Das möchte ich herausfinden, was an einem externen Client anders ist, dabei ist es egal, ob es ein Mac oder ein Windowsrechner ist.

18.11.2008 - 16:34 Uhr

Ja den habe ich ja installiert.

Ich starte den dann, dann kommt der Monitor, der auf neue Verbindungen wartet.

Dann hänge ich den Prozess msvcmon.exe an im Visual Studio.

Und dann?
Wie rufe ich meine Seite dann auf?
Welcher Port?

da fehlt mir noch was...

18.11.2008 - 16:08 Uhr

Hallole.

Ich habe ein Problem mit meiner aspx Seite, das ich nur von einem anderen Rechner auch habe.
Teste ich lokal tritt es nicht auf.

Wenn ich nun aus dem Visual Studio mit F5 den debugger starte, kann ich ja alles prima debuggen ,so lange ich lokal teste, möchte ich von einem anderen Rechner im Netzwerk drauf zugreifen geht das nicht, trotz Angabe der Portnummer.

Wie kann ich von einem anderen Rechner aus debuggen?

Danke schupsl

18.11.2008 - 13:16 Uhr

ALso mein Problem ist ganz konkret:

Wie kann ich von einer Code Datei, welche im Verzeichnis App_Code liegt,auf ein Control zugreifen , welches in einer aspx Seite ist?

14.11.2008 - 09:17 Uhr

Hallo Peter.

Das mit der MasterType direktive steht auch so in meinem schlauen Büchlein, ich verstehe das aber nicht..muss es wohl nochmal und nochmal lesen.

Nun, mein Vorhaben ist folgendes:

Ich habe eine Masterpage in der das Menü und die Grundstruktur aufgebaut ist.
Das Menü ist aber dynamisch, d.h. soll ja nach User anders aussehen, da jeder andere Berechtigungen hat.

Sehe ich das richtig, daß das so nicht geht?
Muss ich dann das Menü in eine abgeleitete Seite planzen?
Das Menü ist in der Masterpage vollständig aufgebaut, es werden dann programmatisch die einzelnen Menüpunkte ausgeblendet...

das Problem ist auch: Wie kann ich von einer abgeleiteten Seite auf Ereignisse (Click) im Menü zugreifen, das geht ja dann auch nur innerhalb der Masterpage...???

13.11.2008 - 12:10 Uhr

Hallole.

Ich habe eine masterpage in der ein Control mit der ID, sagen wir "control1" ist.
Auf dieses Control kann ich nun auf der aspx Seite und auf der Codebehind.cs Seite zugreifen.

Was aber wenn ich eine .cs Datei haben in der einige Funktionen stehen und ich muss von dieser Funktion auf das Control zugreifen?

Das Control als Argument übergeben ist die eine Möglichkeit, aber wenn es da durch 4 oder 5 Funktionen geht, die nacheinander aufgerufen werden und ich brauche das Control in der 5 Funktion muss ich das Control quasi durchreichen...

Welche Möglichkeit gibt es sonst noch, damit ich auf das Control

  1. Von einer Masterpage und
  2. von einer anderen aspx. Seite zugreifen kann?

und das von einer *.cs Datei

Zb. möchte ich dem Control Text zuweisen:
Control1.Text="...";

Danke schuppsl

06.11.2008 - 13:51 Uhr

Ok, dann gehts wohl nicht.
Vielen Dank für die Hilfe, schon wieder was gelernt...

06.11.2008 - 13:42 Uhr

So:


 navbar.Groups.Add(Resources.Config.AppName,"NeueGruppe");

So wird eine neue Gruppe hinzugefügt..und es funktioniert.
Wenn ich es statisch, also wie oben mache, gehts nicht...kommt besagte Meldung.

06.11.2008 - 13:28 Uhr

Also wenn ich die Navbar dynamisch erstelle, also über den Quellcode zur Laufzeit, dann gehts!

Sollte doch aber auch nichts anderes sein...wo ist da der Unterschied?

06.11.2008 - 13:22 Uhr

Ojemine.
Ok ich schaue mal. Das ist ein echt schönes Control, nur verstehe ich nicht, daß das nicht implementiert wurde...tsss.

06.11.2008 - 13:08 Uhr

Wie selber über den Code?

06.11.2008 - 12:53 Uhr

Ok vielen Dank.

Jetzt habe ich aber ein grandioses anderes Problem:

Ich habe ja ein Steuerelement von Devexpress: ASPXNAvbar.

Diesem möchte für eine Gruppe einen Text aus der Resource zuweisen:


 <dxnb:NavBarGroup ItemBulletStyle="Circle" Text="<%# Resources.Config.AppName %>"> </dxnb:NavBarGroup>

Es kommt die Fehlermeldung:

Parserfehlermeldung: Datenbindungsausdrücke werden nur für Objekte unterstützt, die ein DataBinding-Ereignis aufweisen. DevExpress.Web.ASPxNavBar.NavBarGroup hat kein DataBinding-Ereignis.

Eigentlich eindeutig: Das Control unterstützt das DataBinding nicht.

Großes Problem, denn wie soll ich denn nun einen Text aus der Resource zuweisen?

Kann man das Ereignis DataBind irgendwie hinzufügen?

06.11.2008 - 09:31 Uhr

Hallo Peter.

Nun ich kenne die verschiedenen Möglichkeiten aus meinem schlauen Büchlein und diese war eine davon und wie ich finde die einfachste/übersichtlichste.

Mit dem this.DataBind() geht es nun, das habe ich übersehen.
Der Grund ist, daß ich nicht verstehem was das DataBind genau macht

In der msdn steht:

Bindet eine Datenquelle an das aufgerufene Serversteuerelement und an alle untergeordneten Steuerelemente

Nur damit kann ich nicht viel Anfangen.

Warum muss ich das DateBind erst aufrufen?
An welches Steuerelement wird welche Datenquelle gebunden, wenn ich mehrere habe?
Woher weiß DataBind() welche Datenquelle es an welches Serversteuerelement binden soll?

04.11.2008 - 12:19 Uhr

Hallo,

ich bin echt am Verzweifeln.
Den ganzen morgen mache ich da scho herum und ich komme auf keine Lösung.

Ich habe eine Anwendung, bei der sämtliche darzustellenden Texte aus einer Resource Datei gelesen werden.
Das hat bisher auch einwandfrei funktioniert.
Ich weiß nicht, was ich geändert habe, aber es geht seit heute nicht mehr.
Gestern gings noch.

Beispiel Titel der Seite ausgeben:



<script runat=server>
    public string MyTitle;

    protected void Page_load(object sender, System.EventArgs e)
    {
        MyTitle = Resource.default.AppTitle;
    }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head runat=server>
<title>  <%# MyTitle %></title>

So hat das bisher prima funktioniert.
Ich habs getestet, in dem Script BEreich wird die Resource auch ausgelesen und MyTitle zugewiesen.

Nur nachher im <%%>-block ist die VAriable nachher leer.
Selbst wenn ich die Resource direkt im title-Tag auslese funktioniert das nicht:


<title><%# Resource.default.AppTitle%></title>


So hats nämlich auch schon funktoniert.
Aber jetzt nicht mehr, es wird einfach nichts ausgegeben...die Resource existiert und wird auch richtig aufgerufen, sonst würde es ja im Script Block auch nicht funktionieren...
Hat jemand ne Idee?

30.10.2008 - 13:47 Uhr

Hallo mal wieder.
Also ich teste gerade die Navbar von Devexpress.
Funktioniert gut, auch mit einer XMLDatasource.

Diese XML Datasource gebe ich, wie die Navbar, als ASP Control an:


<asp:XmlDataSource ID="XmlDataSource1" XPath="Menue/*" DataFile="xxx\ListeMenu.xml" runat="server"></asp:XmlDataSource>

...


 <dxnb:ASPxNavBar ID="ASPxNavBar1" runat="server" 
            onitemclick="ASPxNavBar1_ItemClick"  DataSourceID="XmlDataSource1">           
        </dxnb:ASPxNavBar> 

So funktioniert das einwandfrei.

Nun möchte ich aber die Datasource dynamisch halten und zur Laufzeit an die NAvbar binden.
ich denke, ob das nun die Navbar oder ein Standard GridView ist, ist erstmal egal, die Vorgehensweise ist dieselbe.

Ich nehme also die asp:xmldatasource raus und ersetze durch das:



<%
        XmlDataSource xx = new XmlDataSource();
        xx.DataFile = @"E:\test\NavBar\NavBar\bin\Debug\NavBarCameras.xml";
        xx.XPath = "Menue/";
        xx.ID = "bla";
        xx.DataBind();

     ASPxNavBar1.DataSourceID = xx.ID;
        
         %>

Also per Quellcode.
Die .DataSourceID im Navbar Control nehme ich dann raus, ebenso wie XPath.

Folgende Fehlermeldung bekomme ich dann:

The DataSourceID property of 'ASPxNavBar1' must refer to an existing control. There is no control with the specified ID: 'bla'.

Also er kennt die Navbar, aber nicht die ID der XMLDAtasource.

Was mache ich da noch falsch?
Geht das so überhaupt?

29.10.2008 - 10:17 Uhr

Also es gibt ein simples Beispiel: hier

Darin kommt folgendes INterface vor:


public interface IMovable
    {
        void Move();
    }

Dann die Klassen:



 public class Car : IMovable
    {
        #region IMovable Member

        public void Move()
        {
            Console.WriteLine("Der Auto fährt zur nächsten Ampel.");
        }

        #endregion
    }


public class Human : IMovable
    {
        #region IMovable Member

        public void Move()
        {
            Console.WriteLine("Der Mensch macht einen Schritt vor.");
        }

        #endregion
    }


public class Train : IMovable
    {
        #region IMovable Member

        public void Move()
        {
            Console.WriteLine("Der Zug fährt bis zum nächsten Bahnhof.");
        }

        #endregion
    }



Soweit ist da ja noch klar.
Aber dann gibt es noch eine weitere Klasse:


public class God
    {
        public static void MoveObject(IMovable item)
        {
            Console.WriteLine("Ein bewegliches Objekt wird bewegt...");
            item.Move();
        }
    }


Und an der hängts.
Das ist auch das Beispiel was wohl Khalid gemeint hat, aber ich verstehs nicht (Knoten im Hirn)

Was mich stört ist das MoveObject(IMovable item).
In meinem Buch steht, daß man keine Instanz eines Interfaces erstellen kann..was wird dann da gemacht????
Warum kann ich ganz locker als argument iMOvable angeben?

Die Methode “MoveObject” nimmt einfach “irgendwas” was “IMovable” impementiert - egal ob es ein Auto, Zug oder Mensch ist.

Hier noch das Programm:


class Program
    {
        static void Main(string[] args)
        {
             Car BMW = new Car();
            Train ICE = new Train();
            Human Robert = new Human();

                       
            God.MoveObject(BMW);
            God.MoveObject(ICE);
            God.MoveObject(Robert);

            Console.ReadLine();
        }


Also hier werden 3 Instanzen der verschiedenen Klassen erzeugt, die alle IMovable implementieren.
So weit so gut.

Dann rufe ich God auf und übergebe dem jeweils die Instanz.
Das funktioniert wohl nur, weil eben IMoveable implementiert wurde.
Dann wird von der jeweiligen Klasse die Funktion Move() aufgerufen.
Ich muss mich also nicht durm kümmern, welche Klasse ich benutze, sondern ann immer MoveObject() nutzen, welche es sich "selbst aussucht".

Könnte man es so beschreiben?

29.10.2008 - 09:04 Uhr

Hallole.

Ich übe mich ja gerade in C# und habe schon einiges über Interfaces gelesen.
Heute habe ich schon in 3 verschiedenen Büchern die Kapitel über Interfaces gelesen, aber ich versteh einfach nicht was da der Sinn davon sein soll.

Ich kann ja einer Klasse sagen, daß diese die Methoden eines Interfaces implementieren soll, aber wie ich das mache bleibt mir überlassen, da im Interface ja nur die Definitionen stehen.

Beispiel:

Ich schreibe mir ein Interface namens IWriteRead, das sieht so aus:



interface IWriteRead
{
bool Read();
bool Write();

}

Dann erstelle ich eine Klasse, die eine Datei schreibt oder liest:


class Document : IWriteRead
{
public string mytext;

 Document()
{
..
}

Read()
{
Text aus DAtei lesen

}

Write()
{
Text in Dateii schreiben
}
}


So ähnlich halt.

Ich muss ja in meiner Klasse "Document" die Methoden aus IWriteRead implementieren.

Und da hakts bei mir:
Was bringt mir das?

Ich kann doch genau so gut ohne Interface die Methoden implementieren.
Ich nutze die Klasse nachher mit Read und Write...ist doch egal ob mir nun vom Interface "vorgeschrieben" wird, daß ich die Methoden implementieren muss oder nicht.
Ich definiere sie einfach für meine KLasse "Document" und gut ist.
Für was brauche ich da ein Interface?

Eine Erklärung wäre:

Ich kann für jede verschiedene Klasse festlegen, ob IWriteRead implementiert wird oder nicht.
D.h, also, ich habe eine Klasse "Document" "Database" und "DocXML".
Jede dieser Klassen implementiert das Interface IWriteRead.

Document schreibe/Liest in eine Datei
Database wegen mir in eine Datenbank
DocXML liest und schreibt die Daten als XML in eine XML Datei.

In der Anwendung nachher kann ich sichergehen, daß ich für diese Klassen die Methoden Read() und Write() benutzen kann, da diese ja IWriteRead implementieren.

Wie diese Klassen nachher lesen und schreiben ist mir ja wurscht, ich weiß, daß ich Read() und Write() nutzen kann und muss nicht nachsehen, wie die verschiedenen Methoden heißen.

Das wäre für mich ein Ansatzpunkt zur Verständnis, wobe ich denke, daß ich das auch gänzlich ohne IWriteRead machen kann...

Wo also ist der Sinn des Interfaces?
Was verstehe ich nicht?

28.10.2008 - 11:22 Uhr

Nun, die von Devexpress sind ja nicht schlecht.

Aber mit der XML Datei die ich in der WinForm NavBar locker erstellen und wieder auslesen kann, kann ich in im Webcontrol NavBar nichts anfangen, obwohl ich die XML Datasource angeben kann.

Dann müsste ich also die XML Datei "umbiegen" fürs ASP Control?
Oder was gibt’s noch für Vorgehensweisen?

28.10.2008 - 09:15 Uhr

Hallo.

Ich mache mit dem Kollegen ein Projekt.
Er macht die Windows Anwendung und ich die (fast) identische ASP.NET ANwendung.

Ich suche nun nach einer NavBar, welche man für WinForms als auch für ASP.NET nehmen kann.

Es sollte dabei dieselbe xml DAtei als Quelle angegeben werden können.
Je nach Berechtigung und User, soll zur Laufzeit die QuellXML geändert werden können.

Es gibt ja ComponentArt, Devexpress, aber beide bieten das nur für ASP.NET an.
Es gibt zwar Lösungen für WinForms, aber da kann dann unter Umständen die QuellXML Datei anders aufgebaut werden müssen.
Ich suche also ne konfprme Lösung aus einem Hause.

Gibt’s s so etwas?

Danke mal schuppsl

27.10.2008 - 11:35 Uhr

Nun, in ein ganz normales Verzeichnis auf C:..
werd ich mal versuchen....danke.

27.10.2008 - 08:29 Uhr

Nun, das ist ne .exe die installiert werden muss.
Dann startet man den IIS und man kann die Demos im Browser anschauen, wie auf der online Demo von denen...

24.10.2008 - 09:04 Uhr

Hallo.
Nein, ich meinte schon die Firma ComponentArt.

Die Demo habe ich bereits heruntergeladen und kann sie auch im Browser ansehen, aber ich kann sie nicht im VC2008 laden und da verwenden, um zu sehen ob das was wäre.
Kostet immerhin $799 .
Deshalb meine Frage, ob das so gar nicht möglich ist, sondern erst mit dem Kauf oder ob das irgendwie geht.

Ich habe hier schon gelesen, daß mehrere ComponentArt Controls einsetzen...

Grüße schuppsl

23.10.2008 - 17:15 Uhr

Hallo.

Ich bin begeistert von den Componentart Controls, zumindest in der online Demo.
Ich habs mir nun gedownloadet und kann es auch lokal testen.

Ich frage mich nur, wie es denn möglich ist, die Controls in die VC2008 Entricklungsumgebung zu integrieren, damit ich das da mal testen kann...

Hat da er Erfahrung?

23.10.2008 - 09:21 Uhr

Ok, ich schau mir das mal an.
Ich finde das aber komisch, denn ich vergeben ja die ID und muss mich ja dann drauf beziehen...z.B. wenn ich per Javascript etwas auswerten will...das geht so aber nicht, da ich ja nie meine ID weiß, wenn sie derart verändert wird...

23.10.2008 - 09:08 Uhr

Ok, das werde ich dann mal versuchen. Vielen Dank!

Wenn wir gerade hier sind, noch eine Frage zu einem Webcontrol: Panel.

ICh erstelle also das Webcontrol, weil ich ein DIV haben möchte:


<asp:Panel ID="MyDIV"   runat="server">
        </asp:Panel>

Nachher im Quellcode sieht das aber so aus:



div id="ctl00_Left_MyDIV">
        
</div>

Warum wird die ID denn derart verändert?

23.10.2008 - 08:12 Uhr

Hmmm..das ist aber schlecht.
Wie könnte man so etwas sonst realisieren..?

22.10.2008 - 20:23 Uhr

daaa hätte ich doch noch ne Frage:

Kann ich denn die Quell- XML Datei zur Laufzeit ändern?
Also Client A bekommt ein anderes Menü als Client B?

22.10.2008 - 17:55 Uhr

Grazie!

22.10.2008 - 15:05 Uhr

Hallo mal wieder.

Ich erstelle also ein treeview mittels .XmlSiteMapProvider.
Funktioniert gut , nur ist das ja so, daß ich in der XML Datei NUR einen siteMapNode haben darf.
Innerhalb diesem darf ich dann so viele wie ich brauche anlegen.

Dies führt dazu, daß ich EINEN einzigen Menüpunkt oberster Ebene habe(z.B.Startseite), darunter dann alle anderen und auch verschachtelte.

Ich möchte das aber nicht so sondern ich möchte, daß meine Hauptmenüpunkte auf gleicher Ebene angezeigt werden.

Wenn ich nun mehrere siteMapNode's anlege, wird natürlich gemotzt, daß es nur einen geben darf.

ak verstehe ich nicht ganz. Warum ist das so, daß nur EIN menüpunkt an oberster Ebene angezeigt werden kann?

Und die andere Frage:
Wie kann ich alle meine Hauptmenüpunkte in einer Ebene anzeigen lassen?

Grüße schuppsl

22.10.2008 - 13:04 Uhr

Öhm..welche DLL Dateien wohin?

22.10.2008 - 13:04 Uhr

Ok, wir haben nun 3 Schlaue, fette Bücher, da wird wohl was drinstehen🙂
Danke für Eure Hilfe.

21.10.2008 - 13:03 Uhr

Huiui...
Also.

Ja es geht tatsächlich nur darum die Ports per Webanwendung einzustellen.
Es soll eine Art Einrichtungassistent werden.

Ist das problematisch mit den Schreibrechten?
Ich möchte nämlich auch Logdateien in einem Unterverzeichnis schreiben...

Dein Vorschlag HannesB, hat aber nichts mit Linq to XML zu tun, oder?

PathSeparatorChar werde ich mir mal anschauen.

@Golo Roden: wie kann ich das denn machen mit Linq?

21.10.2008 - 11:37 Uhr

Hallole.
Ich habe eine ganz normale XML Datei.
aus dieser werdendie Attribute <port> gelesen und im Programm verwendet.
Über eine Form können diese Attribute geändert werden.

Das Speichern der Attribute funktioniert zwar, aber ich bin der Meinung daß es irgendwie umständlich ist.
Vielleicht hat irgendwer einen Tip wie es einfacher oder schneller geht...

Hier die XML Datei:


<?xml version="1.0" encoding="utf-8"?>
<CONFIG>
  <PORT>
    <Buchungsport port="7000" />
    <Datenport port="7100" />
    <Interfaceport port="7300" />
  </PORT>
</CONFIG>

Hier mein Programmcode:


 var ports = XDocument.Load(strPath + @"./App_Data/Config.xml");


                    var query = from item in ports.Descendants("PORT") select item;


                    foreach (var a in query)
                    {                        
                       var buchp = a.Descendants("Buchungsport");                        
                       foreach(var u in buchp)             
                            u.SetAttributeValue("port", txtBuchungsport.Text);
                       
                        var datp = a.Descendants("Datenport");
                       foreach (var u in datp)
                           u.SetAttributeValue("port", txtDatenport.Text);

                       var intp = a.Descendants("Interfaceport");
                       foreach (var u in intp)
                           u.SetAttributeValue("port", txtInterfaceport.Text);
                       
                     }
                    
                    ports.Save(strPath + @"./App_Data/Config.xml");

Ich weiß nicht so recht , ob die Abfrage so optimal ist, foreach in foreach?
Da wird mit SIcherheit noch mehr dazukommen, das schaukelt sich dann ja hoch, oder?

Wie kann man da einfacher machen?

20.10.2008 - 17:23 Uhr

Ja, aber ich kann das .NET Framework nicht auf Windows 2000 (erst ab Win XP, SP2)installieren, darum ist auch der IIS 5.1 hinfällig...und Windows Server 2000 genauso...

20.10.2008 - 11:51 Uhr

Hallole.

Ich versuche mich gerade in Lokalisierung einer ASP.NET Seite, bzw. erstmal eines einzigen Labels.

Ich habe da Label so implementiert:


<asp:Label ID="labWizstart" runat="server" 
                        Text="<%$ Resources:default, wiz_welcome_start %>"></asp:Label>

Allerdings ist dieses Label innerhalb eines Wizards, sollte aber nicht die Ursache des Problems sein.

Ich möchte später mal die Anwendung per Auswahlbox lokalisieren.
Ich habe im Ordner App_GlobalResources 2 resx. Dateien:

default.en-US.resx und
default.resx.

Default ist Deutsch und im der en-US Datei habe ich denselben String nur auf English.

In der .cs Dstei steht folgendes:



protected void Page_Load(object sender, EventArgs e)
        {
            Thread.CurrentThread.CurrentCulture =
            new CultureInfo("en-US");
            Thread.CurrentThread.CurrentUICulture =
              new CultureInfo("en");
           
        }

Was heißen so,daß die Sprache eben auf English umgestellt werden soll beim Start.

Das geht aber nicht, bzw. die Standardsprache wird aufgerufen (Fallback??)

Warum geht das so nicht, bzw. was fehlt da noch?

16.10.2008 - 09:40 Uhr

Hallo und danke für die Antwort.

Bringt leider auch nichts....
Es wird kein CR empfangen...

15.10.2008 - 14:44 Uhr

Hallo.

Ich experimentiere gerade mit C# und Netzwerk.

Ich habe ein Programm(C++), welches mir auf Aufforderung Daten über den Socket schickt.
Das funktioniert mir meinem alten C++ Programm ganz hevorragend.

Mit C# habe ich noch so meine Probleme und zwar kann ich kein CR und LF empfangen, diese Zeichen sind einfach weg und durch '\0' ersetzt!

Starte ich parallell dazu mein altes Programm, bekomme ich diese Zeichen.

Eie Antwort vom Programm sieht ungefähr so aus:

START\r
Nen Haufen Zeichen, Text usw der mit \r getrennt ist\r\n
ENDE\r

Wobei jede Zeile ein Telegramm entspricht.
Das Problem ist hier, daß ich mit C# die Zeichen \r und \n einfach nicht empfange!
Sie sind einfach nicht da, derweil empfange ich doch das Ganze schon als byte.

Hier der Quellcode:


//Connection aufbauen und abfragen
            TcpClient socketForApp = new TcpClient(GlobalVars.AppHost,GlobalVars.AppPort);
            socketForApp.SendTimeout = 1000;
            socketForApp.ReceiveTimeout = 10000;
            NetworkStream networkStream;                       
            
            networkStream = socketForApp.GetStream();

..........


             if (networkStream.DataAvailable)
                {                  
                    
                   networkStream.Read(rec, 0, GlobalVars.SOCKLEN);
                   ergebnis = System.Text.Encoding.ASCII.GetString(rec);
                }


usw.
Wenn ich das Ding debugge, dann sehe ich schon in der Zeile


networkStream.Read(rec, 0, GlobalVars.SOCKLEN);

Daß in rec zwar die normalen Zeichen drinsteheln, aber KEIN *r*, an dieser Stelle steht stattdessen in \0 !!!

Ich habe schon versuche, das per Char zu empfangen->dasselbe.
Als byte-> dasselbe .
Als string -> sowieso.

Was gibts noch für Möglichkeiten?
Es liegt ja definitiv nicht an der Umwandlung in den string(

ergebnis = System.Text.Encoding.ASCII.GetString(rec); 

)
sondern schon in der Zeile vorher.

Wenns nicht als Char geht, wie dann?

Hat wer Tips?
Ich brauche diese Zeichen für die spätere Verarbeitung..
Danke und Grüße schuppsl

01.10.2008 - 10:13 Uhr

Ja?
Dann muss ich da noch ein Fehler haben.
Ich meinte mal gelesen zu haben, daß der 5.1 nicht mit .net 3.5 läuft..naja.

Und gibt es brauchbare alternative Webserver?
Casini ist ja schon mal ein Anfang, aber gitbs weitere?

01.10.2008 - 08:51 Uhr

Hallo Community.

Ich übe mich noch immer in C# und asp.net.
Es ist nun so, daß ich Windows XP Prof. habe auf dem der IIS 5.1 installiert ist.

Bekanntlicherweise läuft darauf ja keine asp Anwendung, die mit .NET 3.5 Programmiert wurde oder?

Innerhalb der Entwicklungsumgebung, mit dem Testserver geht es natürlich.

Nun stellt sich nicht die Frage welcher Webserver da noch in Frage käme, damit ich meine Anwendungen auch außerhalb der Entwicklungsumgebung testen kann.

Ich meine, wenn ein Kunden später mal "nur" XP oder WIN 2000 Server hat dann muss ich leider sagen: "Tut mir leid, das geht nicht", oder wie ist das?
Ich nutze Linq to XML usw.

Also mache ich was falsch oder geht das Prinzipiell nicht mit dem IIS < 6 ?
Welche alternativen Webserver gibts die asp.net unterstützen?

Grüße Schuppsl

30.09.2008 - 08:53 Uhr

Response.Redirect("seite.aspx");

10.09.2008 - 10:48 Uhr

Ja ne..ich auch nicht.
Bin heute etwas Gaga 😭

Ich habe ganz einfach eine Seite, die von der Masterpage ableitet.

In dieser möchte ich verschiedene Buttons haben, die verschiedene Funktionen erfüllen.
Es soll also bei jedem Buttonklick eine andere interne Funktion aufgerufen werden, was ja ganz einfach mit dem OnClick event geht.

Es funktioniert auch bereits...

Sorry, ich war zu schnell beim posten obwohl mir Raptor 2101 den entscheidenden Hinweis geliefert hat (onklick)

Danke Leute und Grüße

10.09.2008 - 09:51 Uhr

Das geht so schonmal gar nicht

HTML und Java Script werden nur am Clienten ausgeführt
.NET Code (ASPX Tags, C# und alle .NET Sprachen) werden nur am Webserver ausgeführt...

Jo, das habe ich mir nach dem Einstellen des Posts auch überlegt 😁

Es ist aber leider so, daß ich in dem Placeholder keine asp Elemente anlegen kann.
d.h, anlegen kann ich sie schon, aber sie erscheinen nicht...der Placeholder bleibt einfach leer...

warum?
Geht das nicht?