#1 ondra
Chtelo by to aspon trochu kodu, aby bylo na cem ukazovat.
HTTP je bezestavove, to znamena, ze si musis ty data posilat mezi controllerem a view (tam a zpet). Jeden ze zpusobu je posilat z controlleru nejaky objekt ViewModel (nebo Model) a pri akci posilat tento objekt zpet.
Napr. mas tridu Zakaznik, ktera jenom drzi data:
class Zakaznik
{
public int Id {get; set;}
public string Jmeno {get; set;}
}
Ve svem controlleru v nejake metode vracis View s objektem teto tridy (nacten z DB). V tomto View musis pouzit vsechny property, ktere chces pozdeji poslat zpatky do controlleru. Takze pouzijes pomocne metody: @Html.TextBoxFor(x => x.Jmeno) a ty vlastnosti, ktere nechces zobrazovat ulozis do toho View pomoci @Html.HiddenFor(x => x.Id). Tyto html tagy obalis do <form> s nejakou akci z controlleru, ktera bude prijimat objekt Zakaznik (napr. metoda ZobrazitObjednavky(Zakaznik z){..}) a jeste do toho formu pridas tlacitko.
Po stisknuti tlacitka ASP.NET pro tebe automaticky vytvori objekt Zakaznik, naplni jeho vlastnosti hodnotami z View (diky tem metodam -Neco-For(x => x.Neco)) a preda rizeni metode ZobrazitObjednavky. Tam dostanes objekt Zakaznik i s jeho Id a muzes vesele nacitat objednavky z DB (ale uz nemusis jeho Jmeno).