w widoku silnie typami widoku przeciwko @model System.Tuple<Person, List<Survey>>
Jak przekazać wartości przez ViewData do edytora szablonów przez @ Html.EditorFor
używam Wewnątrz każdej pętli for-:
@Html.EditorFor(x => survey.Questions)
uczynienia pytania w `Ankieta. Działa bez zarzutu.
Teraz chciałbym również przekazać dodatkowe dane do niestandardowego szablonu edytora. Zrobiłem:
@Html.EditorFor(x => survey.Questions, new { htmlAttributes = new { PersonId = 1000 } })
a następnie w Edtior Szablon chcę odnieść się do tego PersonId
i wyświetlić go.
Template Editor to zrobiłem (skrót dla celów pytanie):
@using WebApplication2.Models
@model Question
<div>
@ViewData["PersonId"]
</div>
ale nic nie pokazuje się.
Jak poprawnie przekazać PersonId = 1000
do tego EditorTemplate.
I wklejane to i dostaję błąd składni: 'Błąd 1 Nie można zastosować indeksowania z [] do wyrażenia typu 'object'' – Yoda
Dobrze, więc zrobiłem dochodzenie i wiele osób ma z tym problem. Okazuje się, że musi on zostać dodany do przeglądania danych za pomocą tej metody '@ Html.ViewData.Add (" PersonId ", tutaj potrzebuję utworzyć instancję obiektu)' przed 'EditorFor'. Problem polega na tym, że nie mam ideału, jak przekazać DOWOLNY drugi parametr. Chciałbym po prostu podać np. Int '10'. – Yoda
Ok Zrobiłem '@ {Html.ViewData.Add (" PersonId ", 100);}' wcześniej występowały problemy z składnią, ale nie wiem jak wyświetlić je w innym widoku. – Yoda