2010-06-16 4 views
4

Я следую за большим учебником Фила на model binding to a list.привязка модели к списку с использованием непересекающихся индексов. Могу ли я получить доступ к индексу позже?

Я использую входные имена, как это:

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

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

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

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

ответ

1

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

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" 
+0

Для этого потребуется добавить дополнительное скрытое поле ввода в разметку. Я надеялся избежать этого. Я вижу ваш вопрос о включении семантических полей в модель, и, фактически, я намерен заполнить идентификатор, как только FormCollection попадет в модель. Если бы я мог читать индекс из FormCollection, это выглядело бы как элегантный способ решить эту проблему. Вы говорите, что это невозможно, Дарин? – SimplGy