2010-12-03 1 views
0

Ich habe eine stark typisierte Ansicht. Ich bekomme Modell in die Ansicht übergeben und dann zuweisen i Modellwerte zu Etiketten etc.
dann möchte ich auch Modell Werte programmatisch auf ASPX-Seite, wie setzen:Festlegen von Werten für Modelleigenschaften auf ASPX-Seite in ASP.NET MVC 2?

<%= Model.someValue = "foo"; %> 

und dann passieren, dieses Modell zurück zu Controller Aktion und dann auf diese Werte zugreifen. Ich weiß, dass ich Werte auf Modell wie diese anwenden kann:

<%= Html.TextBoxFor(n => n.someValue) %> 

aber in diesen Fällen ist dies keine Option für mich.

Antwort

0

Wenn der Benutzer die Werte dieses Modells nicht in der Ansicht ändern soll, können Sie versteckte Felder verwenden oder einfach einen eindeutigen Bezeichner übergeben, der es der Controller-Aktion ermöglicht, das Modell aus dem Repository zurückzuholen.

0

Welche Informationen möchten Sie einstellen? Sie müssen sie in Formularfelder setzen, die an den Server gesendet werden. Z.B.

public class MyModel 
{ 
    public string Name { get; set; } 

    public string UniqueCode { get; set; } 
} 

Wenn können Eigenschaften festlegen, wenn ich muss:

<% Model.UniqueCode = "something"; %> 
<%= Html.HiddenFor(m => m.UniqueCode) %> 

Und dann diese neuen Werte annehmen, wenn das Formular zurück gebucht wird:

public MyController : Controller 
{ 
    public Index() 
    { 
    return View(new MyModel { Name = "Hello" }); 
    } 

    [HttpPost] 
    public Process(MyModel model) 
    { 
    string code = model.UniqueCode; 
    } 
} 

Obwohl warum Ihrer Meinung nach die modifizierende Modell?