您可能为 selectedValue 参数发送了错误的值。您应该在 SelectList 构造函数中设置值。
<%: Html.DropDownList("basic-qualification-container" + i.ToString(), 
         new SelectList((IEnumerable<Dial4Jobz.Models.Degree>)ViewData["CandidateBasicQualifications"],
                        "Id", 
                        "Name",
                        ViewData["selectedValue"]), //set selected value here
         new { @class = "qualification" })%> 
更好的方法是将 ViewData 中的所有数据放入模型中,然后将其强类型化到您的视图中。
以下是您定义模型的方式:
public class SampleModel
{
    private string SelectedOption { get; set; }
    private IEnumerable<SelectListItem> Options { get; set; }
}
然后在您的操作方法中提供值:
public ActionResult Index()
{
    //get data from db
    SampleModel model = new SampleModel
                            {
                                SelectedOption = selectedOption,
                                Options = new SelectList(options, "Id", "Name")
                            };
    return View(model);
}
在将视图强输入到 SampleModel 之后,您可以在视图中使用 Html.DropDownListFor 助手。
<%: Html.DropDownListFor(model => model.SelectedOption,
                         Model.Options,
                         new { @class = "qualification" }) %>