Laden...
Avatar #avatar-1807.jpg
Benutzerbeschreibung

Forenbeiträge von trinkjoghurt Ingesamt 178 Beiträge

11.01.2006 - 16:23 Uhr

Grundsätzlich kannst Du das ohne Probleme so machen.

ABER:

Die Frage ist, ob Du den Nutzern die Möglichkeit gibst auch "gleichzeitig" Daten zu verändern...
Stelle Dir vor zwei Benutzer haben den selben Datensatz offen und beide editieren darin rum... (konkurierende Zugriffe)

Wenn Du also ein solches Szenario ermöglichen / ausschliessen willst solltest Du mit Locking arbeiten:

Pessimistic:


con.Open();
OleDbTransaction myTrans = con.BeginTransaction(IsolationLevel.RepeatableRead);

...
buecherAdapter.SelectCommand.Transaction = myTrans;

Optimistic:

Standard beim CommandBuilder

11.01.2006 - 15:48 Uhr

Dein CommandBuilder kann so ja nicht arbeiten, da Du ihm keinerlei Info´s lieferst, im Gegenteil:

Du weist die Commands ja "selber" zu und greifst dabei auf einen nicht aufgefüllten CommandBuilder zu.

Der Command Builder erzeugt dir alles was Du brauchst, wenn Du ihm ein Select Statement schenkst. Den Rest macht er selber.

Das Zuweisen der Commands an den Adapter ist NICHT mehr nötig
(siehe mein Stück Code oben).

Deshalb auch den Adapter nicht als Member implementieren... Du brauchst einen Adapter für jede Methode.

11.01.2006 - 15:23 Uhr

Am "Anfang" ? Hmm,

zunächst: Warum und wenn überhaubt im Konstruktur machen!

Am besten postest Du mal den StackTrace das man mal sieht, welche Instanz ihm da fehlt...

Grundsätzlich:


SqlDataAdapter custDA = new SqlDataAdapter("select * from buecher", connection);
SqlCommandBuilder custCB = new SqlCommandBuilder(custDA);
custCB.QuotePrefix = "["; custCB.QuoteSuffix = "]";
connection.Open();
custDA.Update(DeinDataSet, "Customers";);
connection.Close();

11.01.2006 - 15:05 Uhr

Moin,

sicher kannst Du MetaTags verwenden, dynamisch passiert da eigentlich wenig ausser Du fügst die Tags erst zur Laufzeit hinzu.

11.01.2006 - 14:57 Uhr

Hmm,

Wo ist denn dein "buecherAdapter" instanziert?

11.01.2006 - 13:40 Uhr

in welchem browser testest du das ganze?

11.01.2006 - 13:26 Uhr

Kann das nicht bestätigen,

hab Dir hier mal ein Beispiel angehängt....

11.01.2006 - 13:04 Uhr

Mit CSS:

etwas in der Art:

<div id ="Header">Hier steht mein Header</div>
<div id ="Content" style="margin-top:20px;">Hier mein CotentPlaceHolder</div>
<div id ="Footer" style="margin-top:20px;">Hier mein Footer</div>

11.01.2006 - 12:07 Uhr

Was meinst Du denn mit "dynamischen" footer?

11.01.2006 - 11:53 Uhr

Moin Moin,

das mit dem "center" solltest du lassen...

Schau Dir diesen Link an:

http://intensivstation.ch/files/templates/temp07.html

So wie es aussieht wird das ja ein kleines Lernprojekt. Unter dem Link von oben findest Du noch andere Beispiele wie man mit CSS arbeiten kann...

Enjoy,
Chris

10.01.2006 - 15:45 Uhr

Hast recht 😉 Wer lesen kann ist klar im Vorteil 😉)

10.01.2006 - 15:43 Uhr

Moin,

auf dieser Seite findest Du alleswas Du brauchen solltest:

http://www.csharphelp.com/archives2/archive430.html



//The first example shows it using a foreach loop to display each subkeyname
foreach(string Keyname in OurKey.GetSubKeyNames())
{
 MessageBox.Show(Keyname);
}
//The second example shows how to tranfer the names into a string array
string[] Keynames = OurKey.GetSubKeyNames();


10.01.2006 - 15:32 Uhr

Um das Problem des öffnens im Browser zu umgehen, sollte das hier funktionieren:

 <%@ Import Namespace="System.IO"%>
<script language="VB" runat="server">
Sub Page_Load(sender As Object, e As EventArgs)

Dim root As String = "C:\temp\"
Dim filepath As String = Request.Params("file";)

If Not filepath Is Nothing Then

If File.Exists(filepath) And filepath.StartsWith(root) Then

Dim filename As String = Path.GetFileName(filepath) Response.Clear()

Response.ContentType = "application/octet-stream"

Response.AddHeader("Content-Disposition", _ "attachment; filename=""" & filename & """";)

Response.Flush()

Response.WriteFile(filepath)

End If
End If

End Sub
</script>

Das packst Du in eine Datei wie z.B: Download.aspx und übergibst den Namen des Files...

10.01.2006 - 15:22 Uhr

Moin,

das was Du beschreibst klingt mir sehr nach eine Masterpage Lösung:

Unter .NET 1.1:

http://www.evolvesoftware.ch/download/default.aspx
Sehr einfaches, cooles Prinzip

Unter .NET 2.0:

MasterPage von Haus aus ...

Einfach mal anschauen...

Das rumgelade mit Div´s ist nicht wirklich elegant...

10.01.2006 - 13:35 Uhr

Mir fällt noch ein: In .NET 2.0 gibt es trotz allem noch den "alten" .NET 1.1 Weg.

Du erreichst Ihn wie folgt:

Kopiere alle .cs files in das App_Code Verzeichnis.
Bearbeite Deine .aspx Seiten wie bisher.

Resultierend erhälst Du das selbe Ergebnis wie unter .NET 1.1.

**Nachteile:***Langsamen Starten beim ersten Zugriff *Updates können zum "abstürzen" / Neustart des Applikation führen (SessionState!)

10.01.2006 - 11:11 Uhr

Naja, ich würde natürlich die runtime - compilation nicht auf einem Produktiv-System einsetzten. Deshalb gibt es ja die Möglichkeit das vorab zu machen...

Dotfuscator 3.0 kann mit .NET 2.0 umgehen...

10.01.2006 - 11:02 Uhr

Original von tomaten
8o Was ist bei Microsoft da im Kopf vorgegangen? Wollen die sich jetzt mit Script-Kiddis aus der PHP-Szene messen? Alles Open-Source oder wie? Kompilieren und entsprechend sichern ist immer noch das A und O der Leute die mit Microsoft programmieren! 🤔

Man kann sicher drüber streiten, ich sehe das aber sehr programatisch und freue mich einfach über eine klitze kleine Zeitersparnis beim Entwicklen (ok, der ist nicht groß da der erste Start immer länger dauert, aber immerhin) 😉

09.01.2006 - 17:17 Uhr

XHTML 1.1 konform wäre die Verwendung des Target-Module:

http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_targetmodule

Allerdings musst Du Dir die Frage stellen, ob Du wirklich ein 1.1 konformes Dokument brauchst. Grundsätzlich klappts aber mit dem Modul.

XHTML Frameset könntest Du Dir auch anschauen...

09.01.2006 - 15:32 Uhr

Sicher, ich meinte nur damit das er die Entwicklungsumgeung nicht wechseln muss...

Auch richtig: der GC kann natürlich nur zuschlagen, wenn man auch die Voraussetzungen dafür schafft. Einfachtest Beispiel: benutze "using" ...

Aber der Overhead ansich ist schon beachtlich. Auch wenn er in der heutigen Hardwarewelt verkraftbar ist...

09.01.2006 - 15:13 Uhr

Moin,

grundsätzlich: Das ist der Preis für automatisiertes memory-management, der CLR und des GC.

Als Tip :

Schau dir das hier an:

http://www.scitech.se/memprofiler/

Ein super Tools um Leaks usw. zu finden...
Vielleicht findest Du so den Überltäter...

Wenn alles nichts hilft und Du wirklich Ram-sparend arbeiten willst hilft nix anderes als unmanaged hardcore c++ zu programmieren (in .NET)...

Enjoy,
Chris

09.01.2006 - 14:52 Uhr

Moin,

leider ist es nicht möglich:

Du hast mit .NET keine Möglichkeit "out-of-process" COM Server Objekte zu erstellen.
Dir bleibt wohl nichts anderes als bei VB6 zu bleiben, da unmanaged....

Enjoy,
Chris

09.01.2006 - 14:44 Uhr

Moin,

könnte sein das Dir eine Build Option hilft:

In den MSBuild Options:

Use fixed naming and single page assemblies

setzten und testen 😉

Enjoy,
Chris

09.01.2006 - 14:37 Uhr

Grundsätzlich würde ich das so machen:

 Response.Write("<script type='text/javascript'>results=window.open('Results.aspx'); </script>";)

Aber Vorsicht: PopUp Blocker werden Dir einen Strich durch die Rechnung machen.
Würde zur Sicherheit lieber einen Hyperlink mit entsprechendem Ziel (Target '_blank') verwenden!

Enjoy,
Chris

09.01.2006 - 14:30 Uhr

Verstehe jetzt nicht ganz was Du erreichen willst.

Warum nutzt Du nicht ein serverseitiges Control ListBox, nutzt AutoPostBack und arbeitest mit dem Event SelectedIndexChanged?

Enjoy,
Chris

09.01.2006 - 14:25 Uhr

Moin,

Pre-Compilation ist das Stichwort:

Eine Möglichkeit findest Du hier:

http://odetocode.com/Articles/417.aspx

Du hast mit .NET 2.0 natürlich weiterhin die Möglichkeit, Deinen Code zu kompilieren. Standard ist allerdings die komp. zur Laufzeit.

Enjoy,
Chris

09.01.2006 - 14:18 Uhr

Kommst Du denn überhaubt in Deinen if-Block?

09.01.2006 - 14:14 Uhr

Moin,

grundsätzlich liegst Du mit der DataList auf der sicheren Seite.
Du musst die nur überlegen, wie umfangreich die Galerie werden soll (Thumbnails etc).

Ich empfehle Dir einen Blick in das "Personal Web Site" Starter Kit zu werfen:

http://msdn.microsoft.com/vstudio/express/vwd/starterkit/#personal

Hier wurde eine einfache Galerie integriert, der Code ist gut zu verstehen.

Enjoy,
Chris