ok hat sich nun erledigt, wahrscheinlich brauchte ich nur mal ein wenig abstand
ich gehe nun vorher alle items im repeater control durch, speicher diese in einer struktur-liste, füge eine neue zeile hinzu, mach das databind und gehe dann nochmals jedes item im repeater durch und setze die indexe
ich erzeuge mit Hilfe eines Repeaters eine große Tabelle von Daten, die jederzeit beliebig um eine weitere Zeile erweitert werden kann.
Dies bedeutet im einzelnen, dass ich jedes Mal ein Databind machen muss, da gewisse Elemente der Tabelle (DropDown-Listen) schon vorbefüllt werden.
Das Problem an der Sache ist, sobald ich eine neue Zeile hinzu füge, gehen alle anderen bisher getätigten Einträge (Auswahl in einer DropDown-Liste) verloren.
Da muss es doch irgendeine Möglichkeit geben, diese nachzuladen?
naja die controls sind halt dynamisch und nach bestimmten aktionen ändern sich eben die inhalte
so wie ich das gemacht habe, scheint das einfach nicht zu funktionieren, allerdings habe ich nun eine lösung gefunden, denn wenn man einen repeater benutzt werden die datenquellen auch im control vorgehalten und können auch ohne größere probleme neu zugewiesen werden :-)
naja das funktioniert ja nicht, dadurch dass die checkboxen dynamisch aus einer liste erzeugt werden, müssen diese auch jedesmal neu erzeugt werden, sonst kommt nämlich gar nix mehr
ich habe ein jquery gestütztes Web User Control erstellt, an das ein Dictionary als Datenquelle übergeben wird.
Mit Hilfe dieser Datenquelle werden Checkboxen + Label + HiddenFields in einer Dropdownliste erzeugt. Es ist also eine MultipleChoiceDropdownListe.
So mein Problem ist jetzt folgendes:
Ich habe mehrere dieser web user controls in einer Seite und die Einträge ändern sich mit bestimmten Abhängigkeiten untereinander.
Wenn sich nun so eine Abhängigkeit ändert, binde ich erneut die Datenquelle an die Dropdownliste. Mache dort auch im Panel mit den dynamischen Controls ein Clear auf eben diese, allerdings sind diese dann trotzdem noch da. Was mache ich denn nun nur?
Mit der IP habe ich wohl auch eine lösung gefunden, ich werde einfach eine aspx-seite erstellen, die die IP des Clients ausliest und einen JSONP Request auf die Webseite machen. Also ohne JSONP Service.
Ein weiteres Problem war die URL des IFrames, denn diese kann nur gesetzt werden, aber nicht ausgelesen. Von daher erfolgt jetzt das Handling des IFrames durch die übergeordnete Seite :-( was ein bisschen schade ist, da diese eigentlich nur zusätzliche Informationen anzeigt und es schön gewesen wäre, wenn man über die "normale" Seite hätte navigieren können
so ok, ich habe das problem jetzt mehr oder weniger gelöst. was mich jetzt aber noch stört ist, dass ich bei einem jsonp request die ip des clients nicht auslesen kann?
ich habe da ein Problem. Und zwar habe ich einen IFrame, dessen URL ich beim GET Request übergeben möchte. Da dies in der URL nicht richtig funktioniert, habe ich mir überlegt, die URL in den Request Header zu schreiben.
Nur leider scheint das nicht ordentlich zu funktionieren :-( auf WCF Seite wird der Header nicht erkannt. Woran kann das liegen? Ist das überhaupt möglich?
ich habe da ein kleines Problem. Und zwar habe ich eine Applikation, von dieser soll über Ajax ein Request mit Informationen an eine 2te Applikation gesendet werden. Um CSS zu vermeiden, läuft beides auf einer Domain, wobei die 2te Applikation mit einem virtuellen Verzeichnis unter der 1sten Anwendung im IIS liegt.
Das Problem ist jetzt folgendes: Für mich heißt es, das die Konfiguration der 1sten Anwendung möglichst nicht verändert wird (Framework 3.5). Die 2te läuft aber in der Version 4.0. Durch die Vererbung der Web.Config kommt es nun aber zu Fehlern, da die Compiler-Version in Applikation 1 auf 3.5 festgelegt ist.
Wie kann ich das ganze umgehen?
Wenn ich in der Applikation 1 das Attribut "Locations inheritInChildApplications=false" einfüge, ist dann auch wirklich nur meine neue Applikation betroffen oder auch alle anderen Unterverzeichnisse ohne Anwendungen der Applikation 1?
Hmm das ist ja merkwürdig, bei mir funktionierts so nicht ^^
Ich werde das auch nochma so ausprobieren.
Ich stelle den Postback fest, da sich die komplette Seite erneut lädt. Ich benutze die Maps API und die Position des Benutzers wird immer zurück gesetzt.
der Titel beschreibt es leider nicht ganz genau. Ich versuche das hier mal etwas besser zu erläutern. Das Problem betrifft übrigens nur den Internet Explorer (egal in welcher Version).
Ich habe ein UpdatePanel in einer aspx Webseite. In diesem UpdatePanel habe ich einen nicht sichtbaren Button, der im Codebehind Daten lädt. Nun ist die komplette Seite relativ voll gepackt mit JavaScript (Maps API etc.) und ich führe außerhalb des UpdatePanels das Klick-Event des Buttons mit JavaScript aus.
Einzig und allein im Internet Explorer erfolgt ein komplettes Postback der Seite. Besteht hier irgendwie die Möglichkeit dies zu verhindern?
Der ScriptManager ist mit EnablePartialRendering aktiviert.
ich versuche gerade ein kleines Tool zu schreiben, dass mir alle Sites einer Websitecollection zurück gibt und diese dann weiter überprüft.
Soweit funktioniert das in der Entwicklungsumgebung auch ganz gut, allerdings in Test scheint das ganze dann am Load Balancing zu scheitern.
Vielleicht habt Ihr ja eine Idee, wie ich hier weiter kommen kann??? Hab schon bissl gegoogelt und einen weiteren Lösungsansatz verfolgt, und zwar hole ich erst alle WebApplications des Sharepoint und trage dann die richtige in die App Config. Allerdings bekomme ich keine Anwendungen auf Test, auf Entwicklung werden mir alle ohne Probleme aufgelistet.
try
{
string webUrl = ConfigurationManager.AppSettings["SharepointURL"];
string appName = ConfigurationManager.AppSettings["ApplicationName"];
SPWebService myWebService = SPWebService.ContentService;
SPWebApplicationCollection coll = myWebService.WebApplications;
foreach (SPWebApplication a in coll)
{
LogError(string.Format("ApplicationName: {0}", a.Name));
}
SPWebApplication myWebApp = myWebService.WebApplications[appName];
SPSite mySite = myWebApp.Sites[webUrl];
using (SPWeb oWebsite = new SPSite(webUrl).OpenWeb())
{
SPWebCollection collWebsite = oWebsite.Webs;
foreach (SPWeb subSite in collWebsite)
{
listBox1.Items.Add(SPEncode.HtmlEncode(subSite.Title));
try
{
SPWebCollection rowWebsite = subSite.Webs;
foreach (SPWeb subsubSite in rowWebsite)
{
if (subsubSite.Title == "BLABLA")
{
listBox1.Items.Remove(SPEncode.HtmlEncode(subSite.Title));
listBox2.Items.Add(SPEncode.HtmlEncode(subSite.Title));
label1.Text = subsubSite.Title;
}
subsubSite.Close();
}
}
catch (Exception ex) { LogError(ex.ToString()); }
subSite.Close();
}
}
}
catch (Exception ex)
{
label1.Text = string.Format("Prüfen Sie auch Ihre Berechtigung auf die Site - {0}", ex.ToString());
LogError(ex.ToString());
}
ich arbeite derzeit an nem kleinem home-projekt und möchte dabei passwörter verschlüsseln. Es geht hierbei darum, dass passwort möglichst so zu verschlüsseln, dass es nicht mehr entschlüsselt werden kann.
hatte zuerst an md5 gedacht, allerdings soll das ja auch nicht mehr wirklich gut sein
daher wollte ich mich mal informieren, was ich denn nun am besten benutzten kann?!
Naja Ok, ich werde jetzt eine ASP.NET Webanwendung draus machen, in dessen Kontext meine HTML5 Anwendung läuft und dazu eine Fassade aus Webservices innerhalb der Anwendung erstellen, die dann auf den WCF Dienst gehen.
ich versuche gerade eine kleine html5 anwendung zu schreiben, die methoden von einem wcf rest service aufrufen soll.
das problem hierbei ist, dass scheinbar bei unterschiedlichen ports der zugriff wegen cross site scripting verhindert wird. ich habe es durch jQuery und JSONP geschafft get-methoden aufzurufen, allerdings misslingt mir post ^^
was gibt es hier noch für möglichkeiten, habe gelesen man könnte zertifikate einrichten um den zugriff zu erlauben, oder ist es sinnvoll eine webanwendung mit eigenen services als so eine art fassade zu erstellen?
ich bin mir ehrlich gesagt nicht sicher, kann ich einen wcf windows dienst auf dem selben port laufen lassen wie eine anwendung im iis? ich hätte jetzt gesagt nein - das wäre dafür ebenfalls schlecht ^^
hoffe ihr könnt mir etwas bei meinen fragen helfen
und zwar möchten wir hier ein Webfrontend dynamisch aus unterschiedlichen Controls zusammenbauen. Die Logik und Optik besteht bereits. Um es genauer zu erklären, eine bestehende Webanwendung soll nun durch Controls abgespeckt und modularisiert werden.
Ich habe mir jetzt mal die Unterschiede von UserControls und Custom Controls angeschaut und würde aufgrund der fertigen Struktur User Controls benutzen wollen, vorallem wegen des Designers.
Allerdings wäre es schön wenn ich alle UserControls in eine Bibliothek zusammenpacken könnte und dann in die Toolbar integrieren. Nur leider, so wie ich geshen habe, ist genau dies nur mit Custom Controls möglich.
Ich habe noch einen Artikel gefunden, bei dem mit VS 2005 die UserControls in CustomControls umgewandelt werden, allerdings will mir das mit VS 2010 nicht mehr gelingen.
Könnt Ihr mir vielleicht ein paar Anregungen geben, wie hier vielleicht auch die Best Practices sind um eine Webseite zu modularisieren?
haha, oh man wie doof, war scheinbar wirklich der cache, einmal f5 hats gelöst ^^
naja, peinlich peinlich
die andere website schaue ich mir direkt mal an, dankö!
UPDATE:
So ich hab mir das jetzt mal angeschaut, allerdings ist es nicht das was ich suche. Ich möchte ja keine Subdomain. Ich möchte meine Domain direkt auf meinen Server mappen. Ich bräuchte also einen Dienst, der wenn sich meine IP ändert die Nameserver aktualisiert ^^ und das möglichst kostenlos. Ich kann meine Domain ja immer nur auf eine IP mappen.
ich habe mir eine Domain gemietet und möchte diese nun auf meinen Homeserver mappen. Auf diesem läuft Windows 2003 mit dem IIS 6.0
Das Problem an sich ist, dass die Webanwendung von außen über meine IP erreichbar ist, ich auch den Domainnamen auf diese IP mappe (Unitymedia, also die IP wechselt sehr selten), dort aber einfach nur die Meldung bekommen: Hier entsteht eine neue Webpräsenz.
Sehr merkwürdig ^^ da ich eigentlich meine, dass diese Meldung nicht von mir kommt...
Ähm zusätzlich wäre es natürlich noch toll, das ganze mit dyndns beispielsweise zu synchronisieren, sodass ich nicht bei jedem Wechsel manuell einschreiten muss. Konnte aber nur eine kostenpflichtige Alternative finden auf dyndns halt. Gibts hier vielleicht etwas kostenloses?
hoffe Ihr könnt mir helfen. Ich habe mir in meiner Nachrichtenklasse 2 Methoden geschrieben um das komplette Objekt zu XML zu serialisieren und wieder zurück zu deserialisieren.
Ersteres, also das Serialisieren zu XML klappt ohne Probleme, nur umgekehrt wills nicht. Vielleicht habt Ihr ja eine Ahnung woran es liegen kann?!
/// <summary>
/// Die Nachricht aus dem XML String laden
/// </summary>
/// <param name="xml"></param>
/// <returns></returns>
internal Message LoadFromXMLString(String xml)
{
XmlSerializer ser = new XmlSerializer(this.GetType());
using (StringReader reader = new StringReader(xml))
return (Message)ser.Deserialize(reader);
}
/// <summary>
/// Die Nachricht in ein Byte[] XML-Array schreiben
/// </summary>
/// <returns></returns>
internal Byte[] SaveToXML()
{
XmlSerializer ser = new XmlSerializer(this.GetType());
using (StringWriter writer = new StringWriter())
{
ser.Serialize(writer, this);
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
return encoding.GetBytes(writer.ToString());
}
}
Habt Ihr eine Ahnung was ich falsch mache? Ich habs auch schon mit dem Prefix ows_ versucht, dass vom Sharepoint scheinbar automatisch noch extra vergeben wird. Leider bisher ohne Erfolg, ich bekomme immer alle Datensätze.
Zudem habe ich das Problem, dass maximal 100 Datensätze zurück gegeben werden, ist es möglich diese Zahl auf unbegrenzt zu erhöhen?
UPDATE
OK Fehler gefunden, hatte versehentlich das Query-Tag doppelt ;) funktioniert nun so wie es soll.
leider ist der Titel nicht ganz so aussagekräftig, da mir hierzu nichts besseres eingefallen ist.
Zur Sache: Ich habe ein Interface IMessage, aus dem sich 3 Klassen ableite, die allerdings die gleichen Methoden benutzen. Zum Zwecke der Protokollierung erstelle ich beim Update ein 2tes Objekt, das den gleichen Typ wie das zu updatende Objekt bekommen soll.
Also das Nachladen des Grids mache ich jetzt einfach über die gleiche Methode wie das erstellen, das mit dem ViewState und der Session hatte aufgrund des DoppelPostbacks ebenfalls nicht funktioniert. Zudem ist es glaub ich mit der Session nicht möglich, da ein komplettes Grid nicht serialisierbar ist und der Viewstate des Grids wurde ebenfalls nicht gespeichert. Daher habe ich mich jetzt für diese Lösung entschieden. Die jetzt auch zum Glück funktioniert ;)
Das einzige was ich persönlich noch unschön finde ist die Tatsache, das bei einem Delete 2 mal eine Datenbankanfrage geschickt wird um die Daten vorher und nachher zu holen. Dort seh ich allerdings auch im mom keine Möglichkeit das zu ändern.
also ich habe festgestellt, solange ich die Grids immer wieder gleich anbinde, funktionieren auch die Methodenaufrufe. Wenn da nicht direkt ein anderes Problem wäre... und zwar wird die Seite direkt 2 mal geladen.
Ich kenne das eigentlich nur wenn irgendwo ein html-Fehler z.b. beim Bilderladen entsteht.
Das Problem ist, ich rufe über die dynamischen Grids jeweils eine Löschen Methode auf, die einen Datensatz entfernt. Beim 2ten Laden jedoch existiert der Datensatz ja bereits nicht mehr und meine Methode läuft in eine Exception.
Klever wie ich bin, dachte ich mir, ok speicherst den Zustand, also das schon ein Aufruf war in der Session. Funktioniert auch, allerdings bekomme ich dann eine Zustandsexception des Grid, da ja der eine Datensatz bereits gelöscht ist.
Warum ist das denn nur so behindert bei Grids, habe das Ganze mal mit nem Label und ner Textbox versucht. Das einzige wo es ordentlich geklappt hat, war mit der Textbox, diese kann einfach nachgeladen werden und speichert dann auch den Zustand. Das Grid scheint im ViewState den Inhalt zu verlieren, ebenso das Label.
UPDATE: Beitrag übersehen, also das Panel ist nicht dynamisch. Ist aber leider auch nicht im PreInit vorhanden, bekomme dort immer eine NullReferenceException des Panels ^^
Hmm, ich habs mal versucht, allerdings sind im PreInit noch keine Steuerelemente vorhanden. Also ich kann zwar meine Grids erzeugen, kann sie aber nicht als Childcontrol an das Panel hängen.
kurz zur aktuellen Lage. Ich generiere mehrere GridViews dynamisch aus einer Liste und schreibe diese als Childcontrols in ein Panel.
Das Problem ist, nach einem Postback sind diese logischerweise weg :(
Ich führe aber Aktionen auf Grundlage dieser GridViews aus bzw. einfach OnSelectedIndexChanged-Methoden. Da die GridViews aber nicht mehr da sind, gehts natürlich nicht.
Gibts ne Möglichkeit diese beispielsweise über den ViewState beizubehalten?
UPDATE: Habs mal mit ner Session versucht und mit pnl.EnableViewState hat aber beides nicht funktioniert, wobei ich ersteres eh nicht so toll finde ^^