2016-04-05 4 views
0

Ich versuche ein Modell von einem Modell zu aktualisieren. Der Wert ist eine Ganzzahl in beiden Modellen. Ich weiß, wie man die Textfelder weitergibt, aber ich habe Probleme, die Ganzzahl zu übergeben. unten ist, was ich zu erreichen versuche.MVC 5 sendet Integer an Modell

Wenn ich also eine Webseite hinzufüge, wird das Navigationsmodell erstellt.

Ich versuche, dies an das Modell zu senden.

LiColumn = MvcHtmlString.Create(webpage.NavColumn), **// needs to be integer** 
LiColumnOrder = MvcHtmlString.Create(webpage.NavColumnOrder), **// needs to be integer** 

Und dies ist der getModel Code:

public override object GetModel(Navigation widget) 
    { 
     var masterPages = GetPages(null); 
     var childPages = widget.IncludeChildren ? GetPages(masterPages) : new List<Webpage>(); 
     var navigationRecords = 
      masterPages.Where(webpage => webpage.Published).OrderBy(webpage => webpage.DisplayOrder) 
        .Select(webpage => new NavigationRecord 
        { 
         LiText = MvcHtmlString.Create(webpage.Name), 
         LiUrl = MvcHtmlString.Create("/" + webpage.LiveUrlSegment), 
         LiColumn = MvcHtmlString.Create(webpage.NavColumn), **// needs to be integer** 
         LiColumnOrder = MvcHtmlString.Create(webpage.NavColumnOrder), **// needs to be integer** 
         Children = childPages.Where(webpage1 => webpage1.ParentId == webpage.Id) 
             .Select(webpage1 => 
               new NavigationRecord 
               { 
                LiText = MvcHtmlString.Create(webpage1.Name), 
                LiUrl = MvcHtmlString.Create("/" + webpage1.LiveUrlSegment), 
                LiColumn = MvcHtmlString.Create(webpage.NavColumn), **// needs to be integer** 
                LiColumnOrder = MvcHtmlString.Create(webpage.NavColumnOrder) **// needs to be integer** 
               }).ToList() 
        }).ToList(); 

     return new NavigationList(navigationRecords.ToList()); 
    } 

Also meine Frage ist, wie kann ich dies mit etwas anderen schicken, als MvcHtmlString Kann nicht von Integer in String konvertieren.

Jede Hilfe würde sehr geschätzt werden.

+0

Nein ich nicht, tut mir leid. :( –

+0

Warum nicht eine ToString() auf Ihrer Integer-Variable hinzufügen, wenn die MvcHtmlString.Create Probleme mit der Konvertierung hat? –

+0

Ich dachte, das könnte funktionieren, Havnt getestet noch. "LiColumn = ((int) (webpage.NavColumn)), ' –

Antwort

0

OK für jeden, der das braucht, hier ist was ich getan habe. hat super funktioniert. Nicht positiv, es ist der richtige Weg. Wenn jemand einen besseren Weg hat oder dies verbessern kann, tu es bitte.

ich dies geändert:

LiColumn = MvcHtmlString.Create(webpage.NavColumn), **// needs to be integer** 
LiColumnOrder = MvcHtmlString.Create(webpage.NavColumnOrder), **// needs to be integer** 

Um dies:

LiColumn = ((int)(webpage.NavColumn)), 
LiColumnOrder = ((int)(webpage.NavColumnOrder)),