Laden...

Forenbeiträge von Chris.B Ingesamt 24 Beiträge

29.04.2011 - 17:10 Uhr

FormsAuthentication gibt es immernoch, Redirect gibt es in jedem Controller und selbst wenn du einen MembershipProvider benutzt zwingt dich keiner alle Methoden zu implementieren.

Aber um deine Frage zu beantworten, nein es ist nicht nötig einen eigenen MembershipProvider zu implementieren um eine eigene Authentifizierung in einem ASP.NET MVC-Projekt zu benutzen.

Chris

13.04.2011 - 22:09 Uhr

Liegt es denn im Ausgabeverzeichnis am richtigen Platz, bzw. was hast du beim Buildvorgang für das Bild eingestellt?

13.04.2011 - 21:44 Uhr

Setzt du in dem Adressformular auch die UserId in einem Hidden-Field?

@Html.HiddenFor(Model.UserId)

Chris

09.04.2011 - 22:24 Uhr

Alternativ könntest du auch xc.Datum.Date == vt.Datum.Date zum Vergleich des Datumswertes verwenden.

Chris

09.04.2011 - 19:09 Uhr

Welche Properties fehlen dir denn? IMO vermisst du Methoden und Events des Objektes. Diese kannst du aber in dem Zusammenhang nicht aufrufen und dementsprechend werden sie vom IntelliSense ausgeblendet. Sie sind jedoch vorhanden.

Chris

09.04.2011 - 11:04 Uhr

ViewData, TempData und Session sind serverseitige Objekte. JavaScript läuft clientseitig. Dementsprechend kannst du vom Client aus nicht auf die serverseitigen Variablen zugreifen.

Du müsstest also einen Ajax-Request an deinen Controller senden und den dann wieder auswerten. Da du anscheinend nur Daten benötigst, wäre JSON angebracht.

Chris

01.04.2011 - 10:58 Uhr

Negative Aspekte:

  • Mehr Aufwand für die Moderatoren da jeder einzelne Thread pro Beitrag erneut geöffnet werden muss
  • Neulinge werden abgeschreckt, da ihre Beiträge direkt geschlossen werden
  • Benutzer die gerne auf einen Thread antworten würden, können es nicht weil sie vor "verschlossener Tür" stehen. Da vergeht einem echt die Lust sich überhaupt zu beteiligen.
  • Wenn ein Moderator einen Thread erneut öffnet wird er oftmals auch direkt antworten -> andere Benutzer können sich kaum konstruktiv beteiligen, da das was sie sagen wollen würden vom Moderator möglicherweise bereits ausgesagt wird

und einer der wichtigsten negativen Aspekte den ihr versucht eigentlich auszuschalten:

  • Suchfaule werden trotzdem Beiträge verfassen die gegen die Regelungen verstoßen und es bleibt eigentlich nur der Mehraufwand

Positive Aspekte:

  • Beiträge zu Grundlagenfragen oder Beiträge die gegen Forenrichtlinien verstoßen werden automatisch geschlossen und müssen von Moderatoren nicht mehr durchgesehen werden

Und ihr seid euch sicher, dass es sorgfältig durchdacht ist? Im Bezug auf den positiven Aspekt muss man als Moderator doch eh noch mal über den Beitrag schauen, ob nicht doch etwas drin steckt was einer Antwort würdig wäre. Da kann man ihn auch manuell schließen..

Ich würde eher in die andere Richtung gehen und die Suche etwas präsenter gestalten.

Chris

24.03.2011 - 19:54 Uhr

Ich habe gerade versucht den IE 9 auf meinem Notebook zu installieren. Leider bin ich (wie auch immer das möglich war) mit der Maus abgerutscht und auf den Abbrechen Button beim Installationsstart gekommen.

Beim erneuten starten der Installation begrüßt mich nun folgender Dialog 😃

22.03.2011 - 23:10 Uhr

Hi,

kurz vorweg, mit meinem Posting nehme ich nur Bezug auf:

PVField f1 = new PVField(model => model.Firstname);

Das was du in dem Fall übersiehst ist der HtmlHelper<TModel> im Hintergrund. Normalerweise würde man eine eigene Methode im Zusammenhang mit dem HtmlHelper wie folgt schreiben:


[Extension]
public void Foo<TModel, TResult>(this HtmlHelper<TModel> helper, this Expression<Func<TModel, TResult>> property)
{
    // ...
}

Bei einem Aufruf müssen TModel und TResult nicht explizit angegeben werden, da sie durch die typisierte HtmlHelper-Klasse implizit ermittelt werden können.

Anders jedoch ist es bei dem von dir beschriebenen, gewünschten, Szenario. Du hast keine Klasse aus der implizit TModel, bzw. darauf aufbauend TResult, ermittelt werden kann. Somit müsstest du die Klassen explizit angeben. Das sähe dann wie folgt aus:


public class Foo
{
    public Foo<TModel, TResult>(this Expression<Func<TModel, TResult>> property)
    {
        MemberExpression memberExpression = property.Body as MemberExpression;
        string propertyName = memberExpression.Member.Name;
        // ...
    }
}

// Aufruf
var foo = new Foo<MyObject, MyProperty>(model => model.MyProperty);

Damit könntest du dann direkt den Property-Namen bestimmen und via Reflection an die Attributes gelangen (http://msdn.microsoft.com/en-us/library/a4a92379.aspx).

Chris

18.03.2011 - 19:21 Uhr

Sofern du ein Versionskontrollsystem verwendest, kannst du Änderungen ohne Probleme durchführen und zu jeder Zeit zu deinem alten Stand zurückkehren. Mit AnkhSvn hättest du darüber hinaus sogar eine Visual Studio Integration.

Chris

07.03.2011 - 22:53 Uhr

Naja, ich hab schon von Tagen festgestellt, dass meine Suchergebnisse schlechter geworden sind. Ich such auch fast auschschliesslich nach Programierer-Problemen - da helfen Seiten, welche nur andere Seiten wiedergeben und deswegen von google entfernt wurden - aber meine Suche ist subjektiv gute 100% langsamer geworden.

Den Gedanken müsstest du etwas deutlicher ausformulieren. Redest du von Seiten die Bezug auf andere Seiten nehmen und ergänzend etwas beitragen oder einfach nur Inhalte zu 100% kopieren. Wenn ersteres der Fall ist, dann Schande über Googles Haupt 😮

Ansonsten hab ich subjektiv gesehen weniger "Spam" gefunden und dafür deutlich mehr Artikel lesen können, die eine bestimmte Thematik aus verschiedenen Blickwinkeln betrachten.
Die Suchgeschwindigkeit an sich bleibt davon jedoch unberührt.

Chris

07.03.2011 - 22:38 Uhr

was spricht denn gegen einen mix aus einem einfachen säulen- und liniendiagramm? du könntest dafür komponenten aus dem namespace System.Windows.Forms.DataVisualization.Charting verwenden (ab .net framework in version 4.0 und unter verwendung von winforms)

Chris

11.10.2010 - 00:06 Uhr

Hallo,

Es werden bei Übertragung des Formulars nur gesetzte Werte berücksichtigt und folgende ignoriert, bzw. "vergessen" zu übertragen:
*Eingabefelder ohne Wert (darunter auch explizit mit value="") gekennzeichnete *CheckBoxen ohne Häkchen, o.ä. *deaktivierte Html-Elemente

asp.net mvc macht beim Seitenaufruf folgendes:

  1. Bei Aufruf der Controller-Funktion ermitteln was für eine Klasse erwartet wird.
  2. Ein Objekt der Klasse initialisieren (hier wird bei dir DefaultValue(""), bzw. im Konstruktor string.Empty gesetzt)
  3. Die Post/Get-Daten auswerten und das Objekt mit Daten befüllen (Da ein leeres Textfeld nicht in den Post/Get-Daten vorhanden ist, wird null gesetzt und dein DefaultValue somit überschrieben).

Da der Debugger nicht in Punkt 1-3 hineinspringt (es sei denn du setzt in deiner Klasse einen Breakpoint) siehst du auch nicht die Änderung des Wertes und gehst davon aus, dass direkt null gesetzt wurde.

@Edit:
Wenn du verhindern willst dass null gesetzt wird, musst du die set-Methode deiner Eigenschaften überschreiben.

05.10.2010 - 23:32 Uhr

Der einzige Unterschied der mir spontan zwischen deinem Quelltext und diesem Blogartikel auffällt sind die Id's die bei dir nicht gesetzt werden.

10.09.2010 - 09:45 Uhr

Setz mal den unsaved-value:


<id name="ServerID" unsaved-value="00000000-0000-0000-0000-000000000000">
 <generator class="guid" />
</id>

Btw hat die Id in deinem Mapping den Typ "string" und ich lese aus der Fehlermeldung folgendes: "System.ArgumentException: identifier type mismatchParametername: id".

03.09.2010 - 12:34 Uhr
<input type="reset" />

Entfernt in Chrome, IE, FF, Opera, Safari auch den Inhalt im File-Upload-Feld. Verwendest du eine eigene Reset-Funktion?

31.08.2010 - 19:41 Uhr

Da du deine Frage unter Smalltalk gepostet hast, nehme ich an du willst das ohne .NET lösen. Demzufolge stellt sich jedoch die Frage, welche Mittel dir zur Verfügung stehen, bzw. welche du nutzen willst? Erst danach könnte man dir konkret helfen.

Aber um es grob anzureißen: du kannst die Ausgabe wie du bereits sagtest in deine Datei pipen lassen und diese dann parsen.
In der Zeile in der dann ein Verzeichnis steht, befindet sich auch der String <DIR> anhand dessen du ein Verzeichnis erkennen kannst.

31.08.2010 - 10:19 Uhr

Guid-Struktur

Sollte in etwa das sein, was du suchst.

24.08.2010 - 12:39 Uhr

Die Europäische Zentralbank bieten einen Webservice für Umrechnungen von Euro nach Währung-X an.

http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev

Vielleicht hilft der dir ja weiter.

22.08.2010 - 12:19 Uhr

Hallo,

Es existiert bereits ein OpenSource-Projekt, welches einem das TV-Programm liefert.

http://sourceforge.net/projects/tvbrowser/

Vielleicht kannst du darauf dein Vorhaben aufbauen, bzw. nachsehen, woher die Ihre Daten beziehen.

15.08.2010 - 13:56 Uhr

Ergänzend zu Chilics Beitrag kann man noch folgenden Link erwähnen:

How to: Safely Cast from bool? to bool (C# Programming Guide)

10.05.2010 - 21:03 Uhr

Im Zusammenhang mit ASP.NET MVC habe ich mit einem ähnlichen Problem zu tun, das es oftmals unmöglich macht während des Debuggens/nach Beendigung des Debugvorgangs Dateien zu bearbeiten.

Jedoch reicht es dort aus, die Dateien in Visual Studio zu schließen.

12.07.2009 - 00:24 Uhr

Nur am Rande, statt:


string[] zeug = new string[13];


List<string> zeug = new List<string>();

Denn sobald mehr als 13 Einträge im Reader sind und ausgelesen werden krachts, wobei das nicht den Servicehost zum abstürzen bringen sollte, zumal es ja wie du sagtest, ohne where-Bedingung funktioniert.

Aber nun zum Problem:
Der von dir gepostete Code holt alle Straßen aus der Datenbank, die im entsprechenden Ortsteil sind. Ohne Zweifel liegt der Fehler bis auf den oben angesprochenen Punkt schon einmal nicht am Abruf der Daten. Setz am besten einen Breakpoint bei


con.Close();

Debugge den Code bis zum Fehler und gib dann noch einmal die Zeile an, in der der Fehler auftritt. Ich habe die Vermutung dass es woanders kracht.

edit: Ups ein Blick auf die Vorschau hätte ergeben das michlG wesentlich schneller war.

10.07.2009 - 21:27 Uhr

Ohne großartig auf die einzelnen Patterns einzugehen, solltest du dir immer vor Augen halten, dass beim Code Wartbarkeit und Flexiblität im Vordergrund stehen sollte.

Daher ist es wichtig, die einzelnen Programmschichten so zu designen, dass sie jederzeit ausgetauscht werden können, bzw. Änderungen in einer Schicht vorgenommen werden, ohne andere Programmteile zu beeinflussen. Das sollte aus winSharp93 Post schon hervorgegangen sein.

Daher solltest du auch deine Datenbankschnittstelle entsprechend designen oder auswählen.

Vom Prinzip her hast du über der Datenbank eine Schicht, die die Grundoperationen auf die Datenbank definiert. Sofern du LINQ to SQL verwendest, kannst du deine Funktionen als stored Procedures schreiben, diese dann mittels Designer einbinden und eine Proxyklasse generieren lassen, auf die deine Business Layer aufsetzt und die Programmlogik bereitstellt. Wobei LINQ to SQL bei großen Datenmengen suboptimal, jedoch bei kleineren Projekten sehr hilfreich ist und die Schnittstellengenerierung/-erstellung vereinfacht.

Es gibt einen sehr interessanten Guide auf codeplex.com der sich mit dem Design von Anwendungen befasst. Ab dem Ende der 20sten Seite sollte es für deinem Fall interessant werden, bei dem es um das Design der Data Access Layer geht.