Guten Morgen zusammen
Wir haben in unserem Betrieb VISTA und Windows XP PC's da wir inmitten einer Migration sind. Nun hat sich folgendes Problem herausgestellt:
Ich habe mit dem DebugDiag Tool von Microsoft den IIS (welcher keine Probleme hat, gem. DumpFile-Analyse) 2003 Server mit IIS 6. Daher denke ich dass das Problem nicht auf dem Web-Server zu suchen ist, sondern eher auf dem Client. Denn dort habe ich folgendes Resultat erhalten, wenn ich dass DumpFile analysieren lasse The call to WinSock originated from wininet!ICAsyncThread::SelectThread+242 Vgl. Attached File.
Die Policies für den Internet Explorer 7 auf VISTA wurden deaktiviert, sodass hier eigentlich kein Einfluss mit kommt.
Anzufügen ist, dass sich der Webserver in einer XP-Domäne befindet die von der VISTA-Domäne getrennt ist.
Langsam sehe ich keinen Baum mehr vor lauter Bäumen, ich hoffe es kann mir jemand den Weg zeigen.
Danke.
[Lösung]
Das Browser-Fenster wir nach einer Aktion die durch eine WebMethod ausgeführt wird geschlossen. Wenn das Fenster zu früh geschlossen wird, dann hängt sich die Javascript Engine auf. Der IE7 auf VISTA ist da wohl restriktiver, durch den ProtectedMode, als dass es der FF oder IE7 auf XP ist.
Hy
Dass ganze findet Asynchron statt und mit viel AJAX und Aktualisierung des GUI's mittels Javascript.
Ein Grid ist für mich eine Tabelle, ein Datagrid wär der Passendere Ausdruck.
Im Grid zeigst Du keine Daten an, dass ist in WPF /SL nur zu Darstellungszwecken. Hierfür gibts das DataGrid im WPF /SL Toolkit auf www.codeplex.com.
Hallo
Mach Dir doch ein DataGridView mit TemplateColumns, dann kannst Du dort wo Du eine Checkbox brauchst, diese auch gleich ins Template tun. Damit Du dann mittels javascript ermitteln kannst, welche Checkbox aktiviert ist würde ich dass GridView mit dem
document.getElementByTagName
nach den Checkboxen durchsuchen.
In etwa so:
document.getElementById(RowId)
darauf zugreifen und die Checkbox suchen.
3. Wenn die Checkbox selektiert ist, dann kannst Du die RowId als Key und die CheckboxId als Value in dein zweidimensionales Array abfüllen.
Dachte Cross-Posts werden geahndet: WPF mit MVC - Wer hilft bitte einer Anfängerin?
Kannst das XML für jeden Node durchiterieren und einer, zuvor erstellten Tabelle als Row's hinzufügen.
kann es sein, dass Du die Datenhalter-Klasse nicht als Resource im zu ladenen Fenster, in welchem die ListBox angezeigt wird, referenziert wird?
JQuery. Eventuell musst Du den JQuery Code im OnRowDataBound an das Control (Button) mittels Attributes hinzufügen, dann sollte es auch funktionieren.
Verwende hierfür doch WSUS, für dass ist er vorgesehen.
Soweit ich in Erinnerung habe musst Du mit WebClient den Content herunterladen, den Stream umwandeln und dann als Syndication Feed weiter verwenden.
Im eifnachsten Fall hat Deine Person ein Property Adresse, welches dann auch von Deiner Methode gefüllt wird. Rein Model technisch gar nicht so abwegig wenn man sagt dass eine Perons, eine, keine oder mehrere Adressen haben kann.
Hab leider kein Ajax zur Verfügung
Bräuchte eine lösung mit VS 2005 und .net 2.0
Das AJAX Control Toolkit gibt's auch für Visual Studio 2005 und .NET 2.0.
Wenn du aber auf das Control Toolkit verzichten möchtest, kannst Du dies auch mit JQuery relativ elegant erledigen.
Using jQuery to Consume ASP.NET JSON Web Services
Der Service wäre dann bei Dir eine statitische Methode im Codebehind mit dem Attribute [WebMethod].
Weiterer Vorschlag mit einer WebMethod mit dem Button die Row in der DB hinzufügen, dem Button im OnClientClick="return false;" mitgeben und dann die neu hinzugefügte Zeile, wenn erfolgreich in der DB gespeichert, per Javascript der bestehenden hinzufügen.
Hallo zusammnen
Ich habe foglendes Problem und zwar versuche ich mit folgendem Code
public ViewModelUserOverView() {
string absoluteUri = Application.Current.Host.Source.AbsoluteUri.Substring(0, Application.Current.Host.Source.AbsoluteUri.IndexOf("ClientBin"));
string absoluteUriToWebService = string.Format("{0}ModelService/WebDataService.svc", absoluteUri);
Uri uriToWebService = new Uri(absoluteUri);
BurautAisModel model = new BurautAisModel(uriToWebService);
getPersonAccountAddress(model);
}
private void getPersonAccountAddress(BurautAisModel modelcontext) {
IQueryable<Person> query = from entry in modelcontext.Person
where entry.FirstName.Contains("Daniel") /*||
entry.Person_LastName.Contains(Person_LastName) ||
entry.Person_Number.Contains(Person_Number) */
select entry;
modelcontext.Person.BeginExecute(new AsyncCallback(loadData), query);
}
void loadData(IAsyncResult result) {
DataServiceQuery<Person> query = (DataServiceQuery<Person>)result.AsyncState;
}
die Tabelle Person aus dem Model abzufragen. Ich bin mir nicht ganz sicher wo der Haken liegt (Ich tippe auf den Service Uri), aber der sollte meiner Ansicht nach nicht im Root der Webapplikation stehen sondern separat wie ich ich es vorsehe.
Wäre über Tipps, Tricks und eine kleine Rodung der Sich versperrenden Bäume sehr froh.
@Golo:
danke Golo, werde dass von Dir geschriebene als meinen persönlichen Lehrplan aufnehmen 👍
Versuche sonst ohne das UpdatePanel zu arbeiten und die AJAX Request nur mit JQuery zu machen, eventuell umgehst Du dann die Problematik im FF.
Ich müsste mich stark Irren aber speichert sowas die ViewState nicht?
Ich glaube die einzigste Ausnahme sind dynamisch auf der Page hinzugefügte Controls... da musste es dir wirklich merken.
Das stimmt der ViewState sollte sich die Checkboxen merken.
Ich hatte mal das Problem, dass ich beim SelectedIndexChanged einer ersten DropDownList, die zweite abfüllen musste. Damit kein PageLoad ausgeführt wird (kompletter) habe ich ein UpdatePanel verwendet, dann wird auch nur die darin enthaltene Dropdownlistbox abgefüllt.
Eine andere Möglichkeit wäre, dass Du keinen Postback machst und mit PageMethods arbeitest, dann musst Du dir die Checkboxen nicht wieder merken. Was Du dir aber merken musst sind die Werte die in den Textboxen (oder ähnlichem vorhanden sind) umd diese dann mit JavaScript aktualieseren.
Lösung gefunden, es lag nicht am Encoding, sondern am falschen schreiben (AHHHHHHHHHHHHHHHH)
Eine kleine aber nicht performante Lösung habe ich gefunden, wäre auf Verbesserungsvorschläge trotzdem dankbar.
private void writeXmlToDataBase(char[] content, int index) {
WizardConfigurationDataContext context = new WizardConfigurationDataContext(Settings.Default.Buraut_AisConnectionString);
IList<WizardConfiguration> wzconfigEntry = (from entry in context.WizardConfigurations select entry).ToList<WizardConfiguration>();
WizardConfiguration wizardconfigurationsToUpdate = wzconfigEntry[index];
for(int i = 0; i < content.Length; i++) {
wizardconfigurationsToUpdate.ConfigurationXml += content[i];
}
wizardconfigurationsToUpdate.T_LastChange = DateTime.Now;
context.SubmitChanges();
}
verwendetes Datenbanksystem: SQL Server 2005
Guten Morgen zusammen
Ich habe folgendes Problem: Ich lese eine XML-Datei, die bestimmte Konfigurationen für einen Workflow beeinhaltet. Diese müssen als Unicode in die Datenbank geschrieben werden. Die Tabelle in der DB sieht wie folgt aus (ich hab gelesen dass das Feld das Unicode beinhalten soll, als NVARCHAR deklariert sein soll).
T_Id = bigint / Allow Nulls = false
ConfigurationType = nvarchar(100) / Allow Nulls = false
ConfigurationXml = nvarchar(MAX) / Allow Nulls = true
Nun das Model des EF weist genau die gleichen Eigenschaften auf, nur wenn ich dann die Entität aktualisiere
ObjectQuery<WizardConfiguration> q = model.WizardConfiguration;
IQueryable<WizardConfiguration> ql = q.Select(p => p);
if(ql.Count<WizardConfiguration>() > 0) {
WizardConfiguration wzToUpdate = ql.ToList<WizardConfiguration>()[index];
wzToUpdate.ConfigurationXml = content;
wzToUpdate.T_CreateDate = DateTime.Now;
wzToUpdate.T_LastChange = DateTime.Now;
wzToUpdate.T_User = WindowsIdentity.GetCurrent().Name;
wzToUpdate.T_Version = wzToUpdate.T_Version++;
} else {
throw new NotImplementedException("Table has no content");
}
model.SaveChanges();
wird die ConfigurationXML zwar geschrieben, aber leider nicht als Unicode und dass hat auf die Configuration des Wizards nicht gewollte Auswirkungen.
Ich hoffe ihr könnte mir weiterhelfen und danke euch bereits fürs Feedback.
Hier noch die Guidance on Differences Between WPF and Silverlight
Dank an Tim Heuer für den Tweet 👍
Entweder duruch TemplateColumns mit ItemTemplates oder Du machst im RowDataBound Ereignis des GridViews eine neue Checkbox und fügst diese der ControlsCollection der jeweiligen Row hinzu.
JavaScript Confirm-Box.
ISt das irgendein stylishes Javascript Ding aus irgendeinem AJAX toolkit oder eine ganz normale Alert-Box?
Ich denke dass ist der Standarddialog vom Internet-Explorer, der kommt wenn ein Script nicht aus der gleichen Domäne auf das Browser-Fenster zugreifen will.
Wenn man dann unbedingt will kann man den String-Wert wie folgt casten:
button1.Visibility = (Visibility)Enum.Parse(typeof(Visibility), "Dein String")
Finde es aber Arbeit die nicht notwendig ist, dass die Visibility Eigenschaft bereits ein Enum ist, also warum auch nicht so von der anderen Klasse übergeben.
Visible oder Collapsed sind Enum Werte. Wieso speicherst Du diese dann nicht so in der Klasse die dem UI mitteilt, dass es visible oder collapsed sein soll, auch so mit.
ObservableCollection kannst Du verwenden, wenn die Datenquelle ihre Änderungen ans GUI weitergeben soll.
Die Länge der Adressen (IPv6-Adressen sind 128 Bit lang (IPv4: 32 Bit) vergleichen, dann weisst Du's auch.
Da dbml auf LINQ to SQL und nicht auf EF deutet, gehe ich auch mal von LINQ to SQL aus.
Schau Dir mal vom Context die Funktion CreateDatabase an.
Sorry hab mich falsch ausgedrück: Korrekt sollte es heissen: Wenn er diese Funktinalität will, dann müsste er auf den nächsten Release des EF warten.Warum? Er arbeitet doch anscheinend mit LINQ to SQL und nicht mit dem EF!
Und da gibt es die Methode CreateDatabase.
Ok, mein Fehler, hab's nicht gesehen =)
Da dbml auf LINQ to SQL und nicht auf EF deutet, gehe ich auch mal von LINQ to SQL aus.
Schau Dir mal vom Context die Funktion CreateDatabase an.
Sorry hab mich falsch ausgedrück: Korrekt sollte es heissen: Wenn er diese Funktinalität will, dann müsste er auf den nächsten Release des EF warten.
Das PopUpControl wäre vielleicht noch eine Hilfe. Das hast eien Eigenschaft die festlegt ob es gezeigt werden soll oder nicht. Eventuell kannst Du dass für Dein Design brauchen, für das Ausblenden und Einblenden.
Das geht erst mit der nächsten Version des Entity Framework. Momentan ist es so dass man von der Datenbank her das Modell generieren kann, umgekehrt aber noch nicht.
Ich würde auch eher sagen, dass sich SL auf WPF zubewegt.
In zwei drei Jahren wird WPF auch Browser-Unabhängig sein und es wird eventuell ein Template in VisualStudio geben dass WPF in a Sandbox oder so ähnlich heisst, geben.
Verwende ObservableCollection. Hierzu noch dieser Beitrag.
Habe das nicht sehr gründlich gelesen, da ich von Silverlight wenig verstehe, aber mir scheint, Silverlight bewegt sich hiermit noch weiter von WPF weg? Sehe ich das richtig?
Meiner Meinung nach eher falsch. Denn mit der Version 3 ist es möglich ein Binding wie in WPF durchzuführen und dies ist eine Annäherung an WPF.
Ja klar ist AJAX eine Option, allerdings ändert das nichts am Thema client- / serverseitig validieren.
Das UpdatePanel musstest du jetzt einfach erwähnen, gell? 😉
Hmm, genau 😃
ok, aber es kann auch vorkommen, dass eine serverseitige validierung nicht erwünscht wird. Zum beispiel wenn ein postback nicht in frage kommt...
Postbacks kommen bei der Validierung eh zum Einsatz, daher lohnt sich dann auch die Verwendung von UpdatePanels, die die Region, in welcher was validiert werden soll aktualisieren und die Daten zum Server zur Validierung schicken.
**duck und weg, P. Bucher und LaTino sind da, hoffentlich war meine Antwort einigermassen korrekt (PS: nicht böse gemeint 😉 )
Ich würde vorschlagen 3 Divs
Eines Header welches ein UpdatePanel enthält, das gleiche für die zwei anderen. Dank kannst Du beim Klick auf einen Link nur die UpdatePanels, für welches Du den aktualisierten Content haben möchtest aktualisieren. So wird die Seite nur partiell gerendert.
Edit: Die Seite ist relativ häufig down, im Falle des Falles bei Google nach "tim heuer silverlight 3 whats new a guide" suchen, und die Version im Cache angucken ...
Danke Golo 👍
Wenn Du das DetailsView mit Editiermodus erstellst, kannst Du die Textboxen dann enablen und in der dazugehörigen Methode auslesen.
Weitere Informationen.
Gibts schon eine Liste von Änderungen zu SilverLight 2.0? So als Zusammenfassung.
Du kannst mit JavaScript prüfen ob Inhalt vorhanden ist und dann den jeweiligen Style mit oder ohne Balken anzeigen.
Zeig sonst ein wenig Code. Eventuell könnten dann mehr Feedbacks zurückkommen.
mal ne Frage zu .net 4.0. Ist das wieder ein Aufsatz auf .net 2, 3, 3.5 oder ein komplett eigenes Framework?
Vielleicht hilft Dir diese Präsentation als Antwort.
Ich kann jetzt nur ein wenig theoretisch antworten, da ich die Charts noch nicht verwendet habe. Die Balken werden ja geladen. Es könnte ja möglich sein diese Balken in einer Animation "langsam" wachsen zu lassen.
Ab wann ist mit einer einem ersten Release zu rechnen?
Ich denke gleichtzeitig mit dem finalen Release des .NET 4.0
Ja im RowDataBound Ereignis. MSDN
vielleicht hilft Dir dass hier weiter Enumerable::Distinct<(Of <(TSource>)>)-Methode (IEnumerable<(Of <(TSource>)>))