我真的希望有人可以帮助我,因为我完全不知道该怎么做。这就是我现在所拥有的
控制器:
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 I的主表中,还有“列名”“试用说明”。当视图显示我希望它在下拉列表中显示试用描述的当前值。当我从下拉列表中选择一个新值时,我希望在保存表单时将其保存起来。
我正在使用Windows Azure表存储,因此我不使用任何键在主表中存储数据。我存储了完整的描述。
问题是,使用上面的代码,下拉列表中的值与表单之间似乎没有关联。我看了很多不同的例子,现在我很困惑。希望有人能给我一些建议。
谢谢,
曼迪
答案 0 :(得分:3)
您是否尝试过设置SelectList的选定值?
@Html.DropDownListFor(model => model.Trial.TopicDescription,
new SelectList(ViewBag.TrialTopic, "TrialDescription", "TrialDescription", Model.Trial.TopicDescription))
我可能错在Selected值应该是什么。如果是这样,那就改变它应该是的值。
答案 1 :(得分:1)
不应该是:
Html.DropDownListFor(model => model.Trial.TopicDescription, new SelectList(ViewBag.TrialTopic, "TopicDescription", "TopicDescription"))
请注意下拉菜单的“值”和“文本”字段更改。