Привязка модели к списку с использованием непересекающихся индексов. Могу ли я получить доступ к индексу позже?


Я следую замечательному учебнику Фила по привязке модели к списку.

Я использую имена входных данных следующим образом:

book[5804].title
book[5804].author
book[1234].title
book[1234].author

Это работает хорошо, и данные возвращаются в модель просто отлично, заполняя список книг.

То, что я ищу, - это способ получить доступ в модели к индексу, который использовался для отправки книг. Я хотел бы получить этот номер, " 5804.- Это потому, что индекс имеет семантическое значение. Если я могу получить к нему доступ, это избавляет меня от установки другого свойства на объекте (идентификатор книги).

Есть ли способ увидеть, либо на FormCollection, либо на модели после вызова UpdateModel, каким был индекс, когда он был отправлен вверх?

2 4

2 ответа:

Если индекс имеет семантическую значимость, поместите его в модель:

book[0].id = "5804"
book[0].title = "title 1"
book[0].author = "author 1"

book[1].id = "1234"
book[1].title = "title 2"
book[1].author = "author 2"

Ответ на этот вопрос, если кто-то еще хочет это сделать, таков: "Нет, вы не можете получить доступ к индексу позже."