2011-03-31 3 views
1

Я действительно надеюсь, что кто-то может мне помочь, так как я становлюсь ПОЛНОСТЬЮ запутанным, что делать. Вот что я прямо сейчасMVC3, Razor, Html.DropDownListFor и Select lists

Контроллер:

ViewBag.TrialTopic = _trialTopicTable.GetAll(u => u.PartitionKey == PartitionKey); 
return View(_dataTable.Get(u => u.PartitionKey == PartitionKey & u.RowKey == RowKey);); 
} 

Модель для таблицы пробного

[DisplayName("Partition Key")] 
public override string PartitionKey { get; set; } 
[DisplayName("Row Key")] 
public override string RowKey { get; set; } 
.... 
public string TopicDescription { get; set; } 
... 

модель тему стол

[DisplayName("Partition Key")] 
public override string PartitionKey { get; set; } 
[DisplayName("Row Key")] 
public override string RowKey { get; set; } 
public string TopicDescription { get; set; } 

Вид:

@Html.DropDownListFor(model => model.Trial.TopicDescription, 
new SelectList(ViewBag.TrialTopic, "TrialDescription", "TrialDescription")) 

Некоторые объяснения. Данные, возвращаемые в ViewBag.TrialTopic, - это семь пробных тем, имя столбца с данными в этой таблице - «Trial Description». В основной таблице под названием Trial у меня также есть «имя столбца» «Trial Description». Когда появится представление, я хотел бы, чтобы он отображал текущее значение пробного описания в раскрывающемся списке. Когда я выберу новое значение из раскрывающегося списка, я бы хотел, чтобы это было спасено, когда я сохраняю форму.

Я использую хранилище таблиц Windows Azure, поэтому я не использую никаких ключей для хранения данных в основной таблице. Я храню полное описание.

Проблема в том, что с приведенным выше кодом, похоже, нет связи между значением в раскрывающемся списке и формой. Я посмотрел на множество разных примеров, и теперь я совершенно смущен. Надеюсь, кто-то может дать мне совет.

спасибо,

Мэнди

+0

Как вы читаете данные формы в контроллере? – FelixMM

ответ

3

Вы пробовали настройки выбранное значение SelectList?

@Html.DropDownListFor(model => model.Trial.TopicDescription, 
new SelectList(ViewBag.TrialTopic, "TrialDescription", "TrialDescription", Model.Trial.TopicDescription)) 

Возможно, я ошибаюсь в том, что должно быть выбрано. Если это так, измените его на значение, которое оно должно быть.

1

это не должно быть:

Html.DropDownListFor(model => model.Trial.TopicDescription, new SelectList(ViewBag.TrialTopic, "TopicDescription", "TopicDescription")) 

Обратите внимание на «значение» и «текст» поле изменения выпадающего.

Смежные вопросы