Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von dr_d00m
Thema: Wie aus Codebehind JavaScript Funktion aufrufen?
Am im Forum: Web-Technologien

Hallo,
Vorschlag 1: Ersetz mal den addScriptTags-Parameter (aktuell false) durch true.
Vorschlag 2: Falls du einen ScriptManager und ein UpdatePanel auf deiner Seite hast solltest du ScriptManager.RegisterStartupScript nutzen.

Gruß
dr_d00m

Thema: ASP.NET Seite in andere ASP.NET Seite einbinden
Am im Forum: Web-Technologien

Ok, dann halt nicht. Trotzdem danke...

Gruß

dr_d00m

Thema: ASP.NET Seite in andere ASP.NET Seite einbinden
Am im Forum: Web-Technologien

Hallo Peter,

Zitat
Wieso muss es eine Seite sein?

Naja, also die Situation ist folgende: die Eingabemasken, die genutzt werden sollen sind alte Delphi-Masken, die mittels eines Tools (das schon existiert) in aspx-Dateien konvertiert werden. Diese aspx-Dateien sollen nun innerhalb des wizards angezeigt werden. Es wär natürlich möglich den Code per Copy-and Paste einfache von einer konvertierten Datei in den wizard zu packen.
Ich dachte nur, dass das Eindocken evtl eleganter dafür wäre. Aber wenn ich erst parsen muss...

Thema: ASP.NET Seite in andere ASP.NET Seite einbinden
Am im Forum: Web-Technologien

Hallo zusammen,
ich hab da eine etwas ungewöhnliche Frage. Ich stelle gerade für ein Projekt Anforderungen zusammen und dabei bin ich auf eine realtiv schwierige Frage gestoßen.
Wir wollen für verschiedene Kunden in einer Seite eines ASP.NET Wizard Controls verschiedenen Content in Form von ASPX-Seiten einbinden. Quasi so ähnlich wie mit einem IFrame. Das wär ja auch ne Möglichkeit, darf ich aber nicht benutzen...versteht sich ;)
Nun ja, darum meine Frage: Ist es irgendwie möglich eine ASPX-Seite in eine andere einzubetten?

Gruß und danke schonmal

dr_d00m

Thema: Mono 2.4 und MonoDevelop 2.0 veröffentlicht
Am im Forum: Szenenews

Tja, schade nur, dass man immernoch kein ASP.NET debuggen kann. Aber das wird wohl auch noch kommen...

Thema: Website on the fly per Code erstellen
Am im Forum: Web-Technologien

Hallo,
also meiner Einschätzung nach dürfte das möglich sein. Ich setze jetzt mal voraus, dass du mit ASP.NET arbeitest. Dabei sind ASPX-Seite ja nichts weiter als Textdateien. Also kannst du sie so füllen wie du gern möchtest.
Um dann eine ordntliche Codebasis zu haben, kannst du ja allen "on-the-fly" erstellten Seite die gleiche Code-Behind-Datei geben. Da du, wie du sagest, nur eine RadioButtonList, eine CheckBoxList und einen Button brauchst, sollte das auch noch überschaubar bleiben. Du musst nur darauf achten, dass alle deine Webseiten einheitlich dieselben Namen für die Steuerelemente verwenden.
Ich hoffe die Anregung hat geholfen.
Gruß

dr_d00m

Thema: history.back();
Am im Forum: Web-Technologien

Hallo,
ohne jetzt nochmal die Diskussion um serverseitigen und clientseitigen Code lostreten zu wollen, aber über diese Thematik solltest du Bescheid wissen bevor du folgendes benutzt:


Page.ClientScript.RegisterStartupScript(typeof(Page), "Back", "history.back();", true);
oder alternativ falls du einen ScriptManager einsetzt:


ScriptManager.RegisterStartupScript(this, typeof(Page), "Back", "history.back();", true);

Gruß
dr_d00m

Thema: ASP.NET Control Toolkit Calendar Extender wird unter vorhandener TextBox gerendert
Am im Forum: Web-Technologien

Das ist echt zum verzweifeln. Ich hab ein Javascript, das mir alle z-Indexe auf -1 setzt außer das des umschließenden Div meines Kalenders und trotzdem erscheint er noch hinter der TextBox...
Hier mal der Code zum JavaScript:


function setAllZIndexesLow(cal) {
    var elementsInForm = document.getElementById(theForm.id).elements;
    
    var dtpDiv = document.getElementById(cal + "_1");

    for (var i = 0; i < elementsInForm.length; i++) {
        if (elementsInForm[i] != dtpDiv) {
            elementsInForm[i].style.zIndex = -1;
        }
    }
}
Die Funktion wird ausgeführt beim OnClientClick des Buttons. OnClientShowing vom Kalender hat irgendwie nicht so recht funktioniert. Das Property OnClientClick setze ich im CodeBehind, damit ich die ID des Divs finden kann (fehlt nur noch "_1"). Damit kan ich dann das umschließende Div rauslassen.

Bei OnClientHiding des Kalenders wird folgende Funktion ausgeführt:

function setAllZIndexesAuto() {
    var elementsInForm = document.getElementById(theForm.id).elements;
    for (var i = 0; i < elementsInForm.length; i++) {
        elementsInForm[i].style.zIndex = "auto";
    } 
}

Beim debuggen (mit Visual Studio) sehe ich auch, dass alle Elemente anscheinend den z-Index -1 haben. Schau ich mir die Elemente hinterher mit der IE Developer Toolbar an, ist ihr z-Index allerdings nicht gesetzt.

Wo ist der Fehler? Ich bin grad echt am verzweifeln...

Gruß
dr_d00m

Thema: ASP.NET Control Toolkit Calendar Extender wird unter vorhandener TextBox gerendert
Am im Forum: Web-Technologien

Jo, danke für die Antwort. Genau das hab ich gestern abend auch noch probiert. Das funktioniert tatsächlich. Leider wird die Seite von einem selbst gebauten Programm erzeugt und daher ist es nicht so einfach die z-Indexe aller Elemente unter einem Kalender auf -1 zu setzen. Ich werd jetzt ein Javascript schreiben, dass mir beim eintreten von OnClientShowing des Kalenders den z-Index aller Elemente auf -1 setzt und bei OnClientHiding wieder auf auto.
Wenns fertig ist lass ich mal verlauten, ob es geklappt hat...

Gruß
dr_d00m

Thema: ASP.NET Control Toolkit Calendar Extender wird unter vorhandener TextBox gerendert
Am im Forum: Web-Technologien

Hallo,
ich habe folgendes Problem im Internet Explorer:
Ich benutze eine TextBox und einen ImageButton in Verbindung mit einem CalenderExtender, um einen Date-Time-Picker zu implementieren.
Unter diesem Konstrukt liegt eine TextBox. Die ist per CSS mit einer festen Position (position: absolute versehen.
Jedes Mal wenn ich nun meinen Kalender aufrufe, wird dieser unter der TextBox gerendert. Leider ist es in meinem Fall auch nicht möglich das position: absolute irgendwie zu ersetzen.
der Code dazu sieht wie folgt aus:


<div ID="L_TVDATUM_1" style="position:absolute; top:776px; left:24px; width:121px; height:21px;">
        <table>
        <tr>
            <td>
                <asp:TextBox ID="tbDateTime" runat="server" Height="18" Width="128" 
                    AutoPostBack="false" ontextchanged="tbDateTime_TextChanged"></asp:TextBox>
            </td>
            <td>
                <asp:ImageButton ID="ibCalendar" runat="server" ImageUrl="~/img/calendar.png" Height="22px" />
            </td>
        </tr>
    </table>
<cc1:CalendarExtender ID="tbDateTime_CalendarExtender" runat="server" Enabled="True"
                TargetControlID="tbDateTime" PopupButtonID="ibCalendar" Format="dd.MM.yyyy"  >
            </cc1:CalendarExtender>
      </div>
<div ID="KOSTENSTELLE_1" style="position: absolute; top:856px; left:24px; width:289px; height:21px;">
        <asp:TextBox ID="KOSTENSTELLE" CssClass="Eingabefeld" style="width:289px; background-color:#FF0000;" runat="server" />
      </div>

Ich habe auch verschiedene Lösungen zu dem Problem gefunden:
http://forums.asp.net/t/1071605.aspx
http://forums.asp.net/t/1067281.aspx

Die habe ich in den letzten 1 1/2 Tagen auch kräftig durch probiert. Für den Firefox war das alles kein Problem. Der hat jede Lösung akzeptiert und alles funktioniert. Der Internet Explorer(7) war da leider nicht ganz so freundlich

Kann mir hier vielleicht jemand mit dem Problem weiterhelfen?

Gruß
dr_d00m

Thema: TreeView macht Abstände zwischen Elementen im Internet Explorer
Am im Forum: Web-Technologien

Hallo zusammen,
ich habe folgendes Problem mit dem Internet Explorer:
Ich nutze ein ASP.NET TreeView Control um einen Baum von Elementen darzustellen, die mit einem Gantt Chart synchron angezeigt werden sollen. Das heißt zu jedem im Baum vorhanden Element wird auch im Chart eine Zeile angezeigt.
Um nun beides (Element im Baum und Zeile) auf derselben Höhe zu halten, habe ich den <tr>-Tags (weil ja so ein Baum auch nur verschiedene Tabellen sind) über CSS die Höhe 30px zugewiesen. Das angezeigte Chart berechnet nun mit dieser Höhe und der Anzahl der Baumelemente seine eigne Höhe.
Soweit so gut. Im Firefox alles kein Problem das Teil rennt. Nur der Internet Explorer macht Probleme. Hier wird immer unter dem ersten Kindelement eines Knotens ein Abstand von ca. 1px angezeigt.
Zur Verdeutlichung habe ich mal so einen Baum als Dateianhnag hinzugefügt. Gut, ich hätte zum einfärben auch ne schönere Fareb nehmen können, aber es verdeutlicht den Zusammenhang
Ich habe auch schon einige Sachen versucht, wie z.B. im ASPX-Code die Höhe für die einzelnen Knoten einzustellen.

<NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" 
                                            BorderStyle="None" BorderWidth="0px" 
                                         NodeSpacing="0px" VerticalPadding="0px" HorizontalPadding="0px"/>
Hat allerdings auch nichts gebracht. Ich hab auch über CSS versucht Padding, Margin und Border (für table, tr und td, sowie das übergeordnete div) auf 0 zu setzen. Auch das bringt nichts.
Die Knoten im Baum werden alle dynamisch erstellt. Außerdem werden sie erst geladen, wenn ihr jeweiliger Vaterknoten geöffnet wird. Dafür wird ihr PopulateOnDemand Attribut auf true gesetzt und das Event TreeNodeExpanded genutzt. Nur der erste Knoten wird schon beim Page_load geladen.
Ist jemandem schonmal so ein Verhalten untergekommen?

Ich wäre dankbar für jede Hilfe.
Gruß,

dr_d00m

Thema: Dynamische Größenänderung bei Image Controls
Am im Forum: Web-Technologien

Hallo.
Ich hab jetzt einen anderen Weg gefunden. Ich habe den einzelnen TreeNodes über CSS feste Höhen zugewiesen und kann so die Höhe des Charts bestimmen. Ich gehe dazu alle die Nodes rekursiv durch und addiere für jede Node dessen "Expanded"-Eigenschaft true ist die feste Höhe hinzu. Fertig

Vielleicht kanns ja mal irgendwer gebrauchen...

Thema: Dynamische Größenänderung bei Image Controls
Am im Forum: Web-Technologien

Hallo zusammen!
Ich hab folgendes Problem: Ich benutze ein WebControl namens ChartDirector, welches mir Images auf meiner Webseite erstellt, die Charts nach bestimmten Kriterien darstellen. Der Charttyp den ich hier benutze ist ein Gantt-Cahrt um Termine darzustellen.
Nun befindet sich auf der Seite auch noch ein TreeView. Dieses bestimmt, welche Daten im ChartDirector angezeigt werden, da jedem Objekt im Baum auch Termine zugeordnet werden können. Und zwar soll der ChartDirector für jeden angezeigten Knoten im Baum auch eine Zeile im Gantt-Chart anzeigen.
Soweit die Ausgangssituation. Nun habe ich folgendes Problem: Der Baum wird natürlich mit jedem geöffneten Knoten größer. Um dem User die Übersicht zu vereinfachen möchte ich das Image des Gantt-Chart nun an die Größe des des TreeView anpassen. Dazu habe ich mir eine JavaScript Funktion geschrieben, die ein hidden Input setzt, welches ich mit runat="server" betreibe und so serverseitig abrufen kann.
Hier mal die JavaScript Funktion:


function setTreeSizeInput() {
        var treeId = getTreeId();
        var tree = document.getElementById(treeId);

        var hiddenInputId = getTreeSizeInputId();
        var hiddenInput = document.getElementById(hiddenInputId);
        hiddenInput.value = tree.offsetHeight;        
    }

Die Funktionen getTreeId() und getTreeSizeInputId() sind Funktionen, die ich mir im Code-Behind definiert habe und die mir die ClientIds der einzelnen Server-Controls zurückgeben.


Page.ClientScript.RegisterStartupScript(this.GetType(), "TreeIdScript", 
                "function getTreeId(){return \"" + this.treeViewScheduler.ClientID + "\";}" + 
                "function getTreeSizeInputId(){return \"" + this.TreeSize.ClientID + "\";}", 
                true);
            Page.ClientScript.RegisterStartupScript(this.GetType(), "startSizeScript", "", true);

Will ich nun im Code-Behind auf die Größe des Baumes zurgreifen, brauche ich nur den value von TreeSize abfragen. Soweit die Theorie.
Ich benutze das TreeNodeExpanded Event des TreeView, um meinen Chart zu aktualisieren. Leider ist zu diesem Zeitpunkt mein hidden input noch nicht aktualisiert und somit wird mir immer die Größe beim letzten Durchlauf angezeigt.
Kennt jemand einen Weg, um diesen Fehler zuumschiffen?

Mein zweites Problem ist, dass ich kein Pendant zum TreeNodeExpanded Event auf Javascript Seite habe. Heißt ich kann die Funktion nicht immer dann aufrufen, wenn mein TreeNode sich ändert. Ich habs hier schon mit window.onload und window.onchange versucht, aber in beiden Fällen wird die Funktion nur im Fall des ersten Ladens aufgerufen. Weiß jemnad auch hierfür eine Lösung?

Danke schonmal vorab und Gruß

dr_d00m

Thema: IPostBackHandler im UserControl funktioniert nicht
Am im Forum: Web-Technologien

OK, dann fang ich mal am besten ganz vorn an...
Also im Grunde brauche ich ein Control, dass mir verschiedene Spalten anzeigt und diese per CheckBox auswählbar macht. Zuerst hab ich es mit einem GridView versucht, in dessen ersten Spalte sich CheckBox-Controls befinden. Das funktionierte soweit auch ganz gut...dachte ich.
Dann bin ich auf ein zeimlich seltsames Problem gestoßen, dass ich hier gepostet habe:
http://www.aspnetzone.de/forums/thread/200014.aspx
Leider hab ich weder in dem Post noch unter Google oder sonstwo eine Antwort gefunden. Allerdings musste ich feststellen, dass das beschreibene Verhalten nur unter .Net aber nicht unter Mono (für das die Anwendung unter anderem auch sein soll) auftritt.
Nunja, da sich das so nicht implementieren ließ, hab ich angefangen mir ein eigenes Control zu schreiben, dass mir eine Tabelle mit Checkboxen darstellt.
Im Grunde lese ich dazu aus einem DataView die Werte aus und lasse sie von meinem Control darstellen.


for (int i = 0; i < DataSource.Table.Rows.Count; i++)
            {
                TableRow tableRow = new TableRow();
                table.Rows.Add(tableRow);
                CheckBox cb = new CheckBox();        
                
                TableCell tableCell = new TableCell();
                tableCell.Controls.Add(cb);
                tableRow.Cells.Add(tableCell);

                foreach (DataColumn column in DataSource.Table.Columns)
                {
                    // Some Columns are excepted from the view
                    if (!column.ColumnName.Contains("ID") && column.ColumnName != "E_COUNT")
                    {
                        TableCell cell = new TableCell();
                        cell.Text = Convert.ToString(DataSource.Table.Rows[i][column]);
                        tableRow.Cells.Add(cell);
                    }
                }
            }

Die table wird dann per Controls.Add(table) zum Control hinzugefügt gerendert etc.
Soweit funktioniert das auch, was die Darstellung angeht.

Per Javascript wird auf dem Client beim Click auf eine CheckBox ein hidden Field mit Werten (genau genommen ist es ein String mit kommaseparierten Werten) gefüllt, die die angeklickten CheckBoxen enthalten. Das funktioniert auch.

Setzen des Hidden Field innerhalb des Custom Controls:


Page.ClientScript.RegisterHiddenField(ID, "");  
Da das hidden Field die selbe ID hat wie mein Custom Control, sollte eigentlich beim PostBack die Funktion


LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection)
aufgerufen werden. Dies funktioniert allerdings nur auf ASPX-Seiten und nicht in einem UserControl. Ich hab das mit dem Debugger überprüft. Bei der Implementierung in einem User Control wurde der Haltepunkte nicht angesprungen, auf einer einfachen ASPX-Seite schon.

Zum Aufbau meines UserControls:
Da ich das Custom Control nur als Ersatz für meine GridView-Version geschrieben habe, ist noch weitere Funktionalität in einem UserControl gekapselt. Hier habe ich ein Panel mit der Auswahltabelle, einem OK-Button und einem Cancel-Button. Das ganze wird per ModalPopUpExtender ein, bzw. ausgeblendet. Dazu existiert außerhalb des Panels noch ein leerer LinkButton, an den der ModalPopUpExtender gehangen ist.


<div id="pick_list">
    <asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
    <asp:Panel ID="PickListPanel" runat="server" BorderColor="Black" BorderStyle="Solid"
        Height="512" BackColor="#E1F0FF">
        <div id="heading">
            <asp:Label ID="headingPickList" runat="server" Text="Bitte wählen:"></asp:Label>
        </div>
        <div id="pick_grid">
            
            <cc2:DataViewRowSelector ID="DataViewRowSelector1" runat="server" />            
        </div>
        <div id="buttons">><asp:Button ID="SubmitButton" CssClass="button" runat="server" Text="OK" OnClick="SubmitButton_Click" />
            <asp:Button ID="CancelButton" CssClass="button" runat="server" Text="Abbrechen" OnClick="CancelButton_Click" />
        </div>
    </asp:Panel>
    <cc1:ModalPopupExtender ID="LinkButton1_ModalPopupExtender" runat="server" DynamicServicePath=""
        Enabled="True" TargetControlID="LinkButton1" PopupControlID="PickListPanel" Drag="true"
        DropShadow="true" BackgroundCssClass="watermarked">
    </cc1:ModalPopupExtender>
</div>

Desweiteren konnte ich feststellen, dass innerhalb der Button_Click Methode, die ControlCollection meines Custom Controls null (wie auch alle anderen Properties) wird. Somit krieg ich auch keine serverseitige Abfrage hin.

So, ich hoffe ich hab das Problem einigermaßen dargelegt und nichts vergessen. Ich bin grad an einem Punkt an dem ich den Wald vor lauter Bäumen nicht sehe und deshalb auch vielleicht kleinere Fehler nicht mehr erkenne, darum danke schonmal für die Hilfe.

Gruß
dr_d00m

Thema: IPostBackHandler im UserControl funktioniert nicht
Am im Forum: Web-Technologien

Hallo Peter, hallo squadwuschel,
wie ihr ja beide vorgeschlagen habt, habe ich versucht die CHeckBoxen serverseitig abzufragen. Leider ist das auch nicht wirklich gelungen. Sobald ich nämlich durch meinen Button auf der Seite einen PostBack auslöse und im Button_Click die Checkboxen auswerten will, scheint die komplette ControlCollection meines Custom Controls leer zu sein.

Irgendwie steh ich da grad auf dem Schlauch.

Thema: IPostBackHandler im UserControl funktioniert nicht
Am im Forum: Web-Technologien

Hallo,
ich habe ein Problem mit einem Benutzersteuerelement. Und zwar habe ich mir ein Custom Control geschrieben, in dem ich per CheckBox Daten auswählen kann. Dieses habe ich in ein Panel gesteckt zusammen mit 2 Buttons, einen für OK und einen für abbrechen. Beim drücken auf OK wird ein weiteres Event ausgelöst, dass in den EventArgs die geklickten CheckBoxen übergibt. Leider habe ich schon in der Behandlungsmethode für den Button keinerlei zugriff mehr auf die Werte aus meinem Custom Control.

Die Übergabe der Werte aus dem Custom Control erfolgt so:
zuerst werden die geclickten CheckBoxen auf dem Client in ein hidden Input zwischengespeichert. Dieser wird dann beim PostBack ausgelesen mithilfe des der Implementierung des IPostBackHandler interfaces.
Das ganze Schema ist hier zu finden:
http://msdn.microsoft.com/en-us/library/aa479050.aspx#ccc-postback_topic5

Kurz: Wenn das hidden Input genau so heißt wie die Id des Custom Controls wird die Methode LoadPostData beim PostBack aufgerufen.

Leider passiert dies nicht wenn ich das Custom Control in ein User Control stecke. Derselbe Code innerhalb einer ASPX-Seite funktioniert einwandfrei.

Hat jemand schonmal was in die Richtung gemacht oder kann mir nen Hinweis in die richtige Richtung geben?

Danke schonmal und Gruß,

dr_d00m

Thema: Dynamische Breite beim ModalPopupExtender
Am im Forum: Web-Technologien

Danke, das waren genau die richtigen Tipps.
Ich beziehe jetzt die IDs dynamisch über <control>.ClientId und es läuft. Außerdem muss ich sagen, dass ich von firebug extrem begeistert bin.

Danke nochmal und Gruß

dr_d00m

Thema: Dynamische Breite beim ModalPopupExtender
Am im Forum: Web-Technologien

Hallo Leute,
ich habe ein Panel, welches ich per ModalPopupExtender anzeigen kann. In diesem Panel befindet sich ein GridView, welches ich dynamisch mit Daten fülle. Dazu gehört auch, dass die Spalten dynamisch erzeugt werden. Das bedeutet, dass ich so zwischen einer und 12 Spalten haben kann. Dadurch ändert sich natürlich auch die Breite des Panels, da ich style="width:auto;" eingestellt habe. Das Panel ragt dann (zumindest bei 1024x768 ) über den Bildschirmrand hinaus.
Nun möchte ich auch keine feste Größe einstellen, da das mit nur einer Spalte einigermaßen bescheiden aussieht.
Mein Ansatz war nun folgender: Ich möchte, falls das Panel größer als 950px wird, die Größe des Divs in dem das Panel liegt oder des Panels selbst auf 950px setzen.
Vermutlich ist hier Javascript angesagt.
Ich hab das auch mit folgendem Code ausprobiert:


            string clientScript =
                "<script type=\"text/javascript\">" +
                "if(document.getElementById('pick_list').offsetWidth>950)" +
                "{" +
                    "document.getElementById('pick_list').style.width=90+\"%\";" +
                "}" +
                "</script>";

            ClientScript.RegisterStartupScript(GetType(), "", clientScript);

Leider komme ich damit nicht weit. Das Panel behält seine Größe, was ich auch mache.
Ich weis auch grad nicht mehr weiter.
Kennt jemand vielleicht eine Lösung für das Problem oder hat einen guten Ansatz?

Mfg
dr_d00m

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Hallo Peter,
Tja, leider handelt es sich schon benutzerspezifische Daten. Meine Cache-Variante funktioniert erstmal ganz gut und ich werd es wohl vorerst dabei belassen.

Auf jeden Fall mal Danke für die ausdauernde Hilfe

Gruß,
dr_d00m

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Servus. Also auf das Paging im GridView könnte ich mich einlassen. Auf ASP.NET 3.5 kann ich leider nicht zurückgreifen, da alles unter Mono laufen soll. Da gibt es bekanntlich nur ASP.NET 2.0.
Da ich die Properties aber auf jeden Fall brauche, möchte ich nochmal auf mein eigentliches Problem zurückkommen. Ich hab sie im Moment im Cache des Servers abgelegt.
Ist ok für meine Listen von 100 Objekten oder gibts da noch was besseres?

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Nicht schlecht geschlussfolgert
Es geht im Prinzip darum, dass ich mir einen eigenen Pager baue. Der soll nur ein wenig performanter sein, als der im GridView. Außerdem brauche ich das diese Properties, um eine dynamische Größenanpassung des GridViews machen zu können...

Gruß

dr_d00m

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Hallo Ben.
Also die ganze Geschichte sieht folgendermaßen aus:
Ich habe links ein TreeView Element und rechts das GridView.
Wähle ich auf dem TreeView ein ein neues Element aus wird das GridView mit neuen Daten gefüllt. Dazu setze ich die DataSource des GridView auf eine Liste mit Business Objects. Diese Liste möchte ich in einer Property speichern, um auf die eigentlichen Business Objects zugreifen zu können. Das GridView zeigt nämlich nur eine Teilmenge der properties der Business Objects an.

So ich hoffe das veranschaulicht den zusammenhang ein wenig.

Gruß

dr_d00m

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Hallo Peter und danke für die Antwort.
Ich hab mich grad ein wenig mit ViewState auseinandergesetzt und gelesen, dass diese Art der Datenspeicherung mehr für kleine Datenmengen gedacht ist. Bei handelt es sich allerdings in einem Fall um eine Liste mit Business Objects. Die kann dann leicht einen Umfang von 100-200 Elementen erreichen.
Ist ViewState auch dafür noch zu gebrauchen oder gibt es dafür eine bessere Möglichkeit der Speicherung?

Gruß

dr_d00m

Thema: UserControl-Property wird bei Postback == null
Am im Forum: Web-Technologien

Hallo Leute,
ich habe ein UserControl in dem ich mehere Properties definiere. Diese werden auch beim ersten Laden der Seite richtig geladen. Sobald ich aber nun ein Postback durchführe (heißt in meinem Fall ein Grid wird neu geladen) Sind meine benötigten Properties wieder null. Allerdings muss ich die Werte der Properties weiter verarbeiten.

Gibt es also eine Möglichkeit den Stand der Properties irgendwie zu retten?

Danke schonmal für jede Art von Hilfe.

Gruß,

dr_d00m

Thema: Image in vor den Text eines BoundFields im GridView einfügen
Am im Forum: Web-Technologien

Danke,
habs hinbekommen:


<asp:TemplateField HeaderText="Bezeichnung" >
                            <ItemTemplate>
                                <asp:Image ID="TestImage" ImageUrl='<%# GetImagePath(Convert.ToInt32(Eval("TestId"))) %>' runat="server" />
                                <asp:Label ID="Bezeichnung" Text='<%# Eval("TestName") %>' runat="server" />
                            </ItemTemplate>
                        </asp:TemplateField>
Dabei wird mit GetImagePath der Pfad dynamisch zur Id geholt.

Vielleicht hilfts ja mal irgendwem

Gruß
dr_d00m

Thema: Image in vor den Text eines BoundFields im GridView einfügen
Am im Forum: Web-Technologien

Hallo Leute,
ich möchte in meinem GridView, das (bis jetzt) nur aus BoundFields besteht im ersten Feld jeweils ein Image vor den Names setzen.
Das Image soll dynamisch sein, d.h. es soll nicht immer dasselbe sein. Es soll sich aus dem Inhalt des Feldes + Dateiendung zusammensetzen.

Gibt es dazu eine einfache Möglichkeit?

Ich hatte schon drüber nachgedacht daneben noch eine Spalte als ImageField einzufügen. Aber das finde ich etwas unschön...

Schonmal Danke im Voraus.

Gruß
dr_d00m

Thema: Zum Start ein WebApp nur eine Instance einer Klasse laden
Am im Forum: Web-Technologien

Hallo Peter und Danke für die ausführliche Antwort.
Zu deiner Frage die Klasse hält eine Art Definitionsstruktur für die Datenbank, so dass bestimmte Datenbanktabellen dynamisch angesprochen werden können. Das heißt im Grunde werden hier die Tabellen und ihre Felder hinterlegt, die später angesprochen werden sollen.
Naja, das ganze muss nur einmal geladen werden, da es unveränderlich ist.

Auf jeden Fall werde ich mir die verschiedenen Möglichkeiten mal ansehen.


Gruß,

dr_d00m

Thema: Zum Start ein WebApp nur eine Instance einer Klasse laden
Am im Forum: Web-Technologien

Hmm, als WebService?
Ich seh im Moment noch nicht ganz die Vorteile, die mir das bringt...

Vielleicht steh ich aber auch einfach nur auf dem Schlauch

Thema: Zum Start ein WebApp nur eine Instance einer Klasse laden
Am im Forum: Web-Technologien

Hallo Leute,
ich steh grad vor einem Designproblem und wollt einfach mal ein paar Meinungen einholen.
Also ich möchte von einer selbst erstellten Klasse zu Beginn immer nur eine Instanz laden. Die Klasse ist so ziemlich unveränderlich und lädt einfach immer genutzte Daten aus der Datenbank.
Hört sich ziemlich nach Singleton an, soviel ist klar. Ich weiß aber jetzt nicht genau wo ich einen solchen Aufruf in einer ASP.NET Web-Anwendung platziere. Schreibt man das einfach in die Default.aspx? Ich möchte ja auch vermeiden, dass jeder Nutzer, der die Anwendung aufruft, jedes mal eine neue Instanz der Klasse erzeugt.

Wie geht man dort am besten vor?

Danke schonmal für die Tipps.

Gruß

dr_d00m

Thema: Eingabemasken-Designer für ASP.Net
Am im Forum: Web-Technologien

Also zunächst mal danke für die schnelle Antwort.
Das ganze soll nicht zur Laufzeit passieren. Der Ablauf gestaltet sich wie folgt:
Zuerst wird vom Entwickler ein Grundgerüst der Anwendung (Grundlegende GUI, Data Access Layer etc.) zur Verfügung gestellt.
Dann kann ein Projektverantwortlicher nach Bedarf ASPX-Seiten erstellen, die die Eingabemasken für die relevanten Daten darstellen.
Diese werden dann vor der Auslieferung an den Kunden nach Vorgaben (z.B. Namenskonvention) zum Projekt hinzugefügt.

Ich gebe zu, dass ist eine ziemlich spezielle Anforderung, aber ich dachte vielleicht gibt es ja einen vereinheitlichten Maskendesigner, der nicht so komplex wie VS ist und dem man einige Vorgaben mitgeben kann, so dass auch jemand, der nicht unbedingt Entwickler ist damit arbeiten kann. Das ganze kann natürlich auch kommerziell sein.

Gruß,

dr_d00m