none
MVC- Array aus View zum Controller schicken RRS feed

  • Frage

  • Hallo Forum,
    Ich habe hier einen Effekt den ich so nicht verstehe:
    .NET 4.5- VS 2012- MVC 4;
    Aus einem Controller wird das Model zum View übergeben. Nach allem was ich lese ist es Arbeit vom View das Model wieder gefüllt zurück zu erhalten.
    Folgendes passiert jedoch: wenn ich im Konstruktor des Models <vmUserMannschaftenView>, welches der Controller <Mannschaften> dem View schickt die Daten fülle kommt das Modell gefüllt mit allen Daten vom View zum Controller <MannschaftenSpeichern> zurück.

    Fülle ich die Daten außerhalb des Konstruktors, erhält der Ziel-Controller nicht alle Daten.

    Das ganze läuft komplett ohne HiddenFor oder ähnliches.  Das Model enthält aktuell ein Dictionary, eine List<String> Alles kommt an.
    Wie soll ich das bewerten? Ist das eine Konvention? Soll da so sein?

    Controller
      public ActionResult Mannschaften(int id =0)         {             sis.Models.vmUserMannschaftenView c = new sis.Models.vmUserMannschaftenView();             return View(c);         }
    	public ActionResult MannschaftenSpeichern(sis.Models.vmUserMannschaftenView vm)
            {
               return View(vm);
            }

    Model:

        public class vmUserMannschaftenView : vmbase
        {
            public  List<string> li  { getset; }
            public List<string> liother { getset; }
            public Dictionary<string,string> dic { getset; }
            public vmUserMannschaftenView()
            {
                li = new List<string>();
                this.DoIt();
              }
     
            public void DoIt()
            {
                liother = new List<string>();
                li.Add("a");
                li.Add("B");
                liother.Add("X");
                liother.Add("Y");
                liother.Add("Z");
            dic=new Dictionary<string,string>();
            dic.Add("aha""oho");
            dic.Add("asdf""xxx");
            }
        }
    

    View:

    @model  sis.Models.vmUserMannschaftenView
    @using (Html.BeginForm("MannschaftenSpeichern""User"))
    {
         <p>
            <input type="submit" value="Save" />
        </p>
    }
    Vielen Dank für die Antworten.
    Grüße Alexander

    Freitag, 10. Mai 2013 12:34

Antworten

Alle Antworten