Если бы мне нужно было передать в мое представление дополнительные данные (кроме модели), например, список файлов из определенной папки, каков наилучший способ сделать это?
Я думал о создании метода и возвращении списка в ViewData
:
public List<string> GetFiles(int id, string cat)
{
var files = new List<string>();
var folder = "~/App_Data/uploads/" + cat + "/" + id.ToString();
foreach (var file in Directory.GetFiles(folder))
{
files.Add(file);
}
return files;
}
Контроллер:
ViewData["files"] = db.GetFiles(id, "random");
Вид:
@foreach (var item in ViewData["files"]){ //markup }
Во-первых, я слышал, что viewdata и viewbag не должны использоваться. Во-вторых, этот код не работает. Что-то с объектом Viewdata не перечисляется. Должен ли я сделать модель класса для этих файлов. Если так, то как? 2 модели в одном представлении? Я немного сбит с толку, как сделать это, вероятно,