none
ASP.net C# HTML MVC 4.0 - Namen eines SQL-Columns HTML-seitig bearbeiten, umbennen, anders darstellen RRS feed

  • Frage

  • Hallo Freunde,

    habe ein kniffliges Problem und mir fehlt wohl die Erfahrung um es alleine zu lösen.

    Ich habe eine Web-App mit Visual Studio 2010 geschrieben (C# / APS / MVC 4). In der MS SQL Datenbank habe ich mir dazu mehrere Columns anlegt. Da ich hier kein "ä" usw. verwenden kann und auch keine Leerzeichen, habe ich für Soll:"Beteiligte Abteilung" ein SQL-IST: "Beteiligte". Das zweite wird mir demnach auch so auf der Website anzeigt.

    Nun meine Frage:

    - Wie kann ich dieses innerhalb des HTML-Scriptes umbennen, überschreiben bzw. bearbeiten, so dass mir mein SOLL auf der Website angezeigt wird.

    Ich hoffe die Beschreibung reicht für euere Tipps soweit aus.

    Vielen Dank.

    Gruß

    Christian

    Donnerstag, 10. Januar 2013 12:06

Antworten

  • hallo Christian

    ausgehend von Deiner Beschreibung lautet die Antwort: it depends.

    1. Kolumnen in einer SQL Tabelle kann auch Sonderzeichen enthalten und muss dann einfach nur entsprechended quoted werden - siehe dazu die folgenden 2 Links: http://msdn.microsoft.com/en-us/library/aa223962%28v=sql.80%29.aspx und http://msdn.microsoft.com/en-us/library/aa224033%28v=sql.80%29.aspx
    2. im HTML Code kannst Du selbstverstaendlich ebenfalls die Spaltenueberschriften anpassen wenn Du diese nicht gleich wie im Datensatz verwenden moechtest.

    Fuer weitere Hilfe seitens HTML Code muesste man jedoch wissen welches Control Du dazu benutzt - oder noch besser suche einfach in der Hilfe nach der Beschreibung des Controls und dort findest Du i.a. auch entsprechende Beispiel (Stichwort z.B. Header)

    Ich denke Deine Frage bezieht sich mehrheitlich auf eine Loesung in HTML und daher ist dies nicht unbedingt das beste Forum um schnell eine Loesung vorgeschlagen zu bekommen. Besser waere da wohl eher das .NET Framework Forum oder ASP.NET Forum.


    Please use Mark as Answer if my post solved your problem and use Vote As Helpful if a post was useful.

    Donnerstag, 10. Januar 2013 12:36
  • Hallo Christian,

    ich nehme mal an, Du verwendest Entity Framework und mit MVC4

    @Html.LabelFor(m => m.OldPassword)

    zum Anzeigen der Feldnamen? Dann kannst Du DataAnnotation verwenden, im einen abweichenden Anzeigenamen anzugeben, das geht mit dem Attribut "Display"

    [Display(Name = "Current password")]
    public string OldPassword { get; set; }

    Das geht auch mit EF, wo Du selbst an den Klassen nicht ändern darfst (solltest), in dem Du eine Meta-Datenklasse definierst; da die EF Klasse partial ist, geht das sehr einfach:

    [MetadataType(typeof(EntityFrameworkKlasseMetadata))]
    partial class EntityFrameworkKlasse
        {}
    
    
        public class EntityFrameworkKlasseMetadata
        {
    
            [StringLength(200,ErrorMessage="Die Beschreibung darf nicht leer sein (min 3 Zeichen, max 200)!", MinimumLength=3)]
            [Required(AllowEmptyStrings=false, ErrorMessage="Die Beschreibung darf nicht leer sein!")]
            [Display(Name="Beschreibung")]
            [DataType(DataType.MultilineText)]
            public global::System.String Description { get; set; }
        }


    Olaf Helper

    Blog Xing

    Donnerstag, 10. Januar 2013 13:04
  • Hallo zusammen,

    ich glaube mein Problem war simpler als gedacht. Jedenfalls habt ihr mich direkt auf die Lösung gebracht.

    <td valign="top">@Html.LabelFor(model => model.Betroffene, @Lastenheft.Resources.Language.Betroffene) <br /> @Html.EditorFor(model => model.Betroffene)</td>

    @Lastenheft.Resources.Language.Betroffe ist die Lösung (zusätzlich mit einem Language.resx). Dort liste ich mir nun alle Feldnamen auf und verweise auf diese.

    Vielen Dank.

    Gruß

    Christian

    Donnerstag, 10. Januar 2013 15:01

Alle Antworten

  • hallo Christian

    ausgehend von Deiner Beschreibung lautet die Antwort: it depends.

    1. Kolumnen in einer SQL Tabelle kann auch Sonderzeichen enthalten und muss dann einfach nur entsprechended quoted werden - siehe dazu die folgenden 2 Links: http://msdn.microsoft.com/en-us/library/aa223962%28v=sql.80%29.aspx und http://msdn.microsoft.com/en-us/library/aa224033%28v=sql.80%29.aspx
    2. im HTML Code kannst Du selbstverstaendlich ebenfalls die Spaltenueberschriften anpassen wenn Du diese nicht gleich wie im Datensatz verwenden moechtest.

    Fuer weitere Hilfe seitens HTML Code muesste man jedoch wissen welches Control Du dazu benutzt - oder noch besser suche einfach in der Hilfe nach der Beschreibung des Controls und dort findest Du i.a. auch entsprechende Beispiel (Stichwort z.B. Header)

    Ich denke Deine Frage bezieht sich mehrheitlich auf eine Loesung in HTML und daher ist dies nicht unbedingt das beste Forum um schnell eine Loesung vorgeschlagen zu bekommen. Besser waere da wohl eher das .NET Framework Forum oder ASP.NET Forum.


    Please use Mark as Answer if my post solved your problem and use Vote As Helpful if a post was useful.

    Donnerstag, 10. Januar 2013 12:36
  • Hallo Christian,

    ich nehme mal an, Du verwendest Entity Framework und mit MVC4

    @Html.LabelFor(m => m.OldPassword)

    zum Anzeigen der Feldnamen? Dann kannst Du DataAnnotation verwenden, im einen abweichenden Anzeigenamen anzugeben, das geht mit dem Attribut "Display"

    [Display(Name = "Current password")]
    public string OldPassword { get; set; }

    Das geht auch mit EF, wo Du selbst an den Klassen nicht ändern darfst (solltest), in dem Du eine Meta-Datenklasse definierst; da die EF Klasse partial ist, geht das sehr einfach:

    [MetadataType(typeof(EntityFrameworkKlasseMetadata))]
    partial class EntityFrameworkKlasse
        {}
    
    
        public class EntityFrameworkKlasseMetadata
        {
    
            [StringLength(200,ErrorMessage="Die Beschreibung darf nicht leer sein (min 3 Zeichen, max 200)!", MinimumLength=3)]
            [Required(AllowEmptyStrings=false, ErrorMessage="Die Beschreibung darf nicht leer sein!")]
            [Display(Name="Beschreibung")]
            [DataType(DataType.MultilineText)]
            public global::System.String Description { get; set; }
        }


    Olaf Helper

    Blog Xing

    Donnerstag, 10. Januar 2013 13:04
  • Hallo zusammen,

    ich glaube mein Problem war simpler als gedacht. Jedenfalls habt ihr mich direkt auf die Lösung gebracht.

    <td valign="top">@Html.LabelFor(model => model.Betroffene, @Lastenheft.Resources.Language.Betroffene) <br /> @Html.EditorFor(model => model.Betroffene)</td>

    @Lastenheft.Resources.Language.Betroffe ist die Lösung (zusätzlich mit einem Language.resx). Dort liste ich mir nun alle Feldnamen auf und verweise auf diese.

    Vielen Dank.

    Gruß

    Christian

    Donnerstag, 10. Januar 2013 15:01