Не похоже, что ваша проблема связана с MVC, похоже, вы ищете способ получить имя свойства с использованием подходящего имени строки.
Я верю, что есть и другие способы сделать это, но я знаю, что это отражение. Предупреждение: мне всегда говорили, что отражение медленное, опасное и не должно использоваться без необходимости.
Type t = typeof(Person);
FieldInfo f = t.getField(Task.Attribute);
string oldValue = (string) f.GetValue(person); //gets old string given Person person
f.SetValue(person, "xx"); // sets value of person.Take.Attribute to "xx"
Возможно, ваша модель данных будет лучше, как эта
Class Person
Public Property ID As Integer
Public Property Attributes As List<PersonAttribute>
Class PersonAttribute
Public Property Id as String //FirstName, LastName, etc
Public Property Value as String
Public Property DisplayName as String //if you need some label for html pages
Тогда вы можете просто получить нужный атрибут PersonA с помощью запроса where на id == Task.Attribute
См. http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ или выполните поиск по шаблонам редактора, чтобы увидеть, как можно связать сложный список с контроллером в mvc.