因此,我使用字符串列表来填充DropDownList,它工作正常,但是对于编辑部分,当用户转到编辑视图时,我需要Relacion的值已保存在db中,并在DropDownList中选择该值。怎么办呢?

List<string> x = new List<string> { "string1", "string2", "string3", " string4" };
            ViewBag.Relacion = new SelectList(x);

 <div class="editor-label">
            @Html.LabelFor(model => model.Relacion)
        </div>
           <div class="editor-field">
            @Html.DropDownList("Relacion")
            @Html.ValidationMessageFor(model => model.Relacion)
        </div>

最佳答案

您需要为下拉列表提供值,而不仅仅是文本字符串
如果您的模型不知道相关选择值,则可以使用javascrip并执行类似的操作

<script type="text/javascript">
    $(document).ready(function () {

$('select[name=Relacion]').val($('#Relaciontext').val());

}
</script>
 <div class="editor-field" style="display:none" >
               @Html.TextBox("Relaciontext", ViewData["statecode"])

        </div>
   @Html.DropDownList("Relacion")

ViewData["statecode"]="string1";


但理想情况下,您需要使用选择的列表来填充下拉列表,然后进行建模

通过创建选择列表

  @Html.DropDownListFor(model => model.Relacion, (IEnumerable<SelectListItem>)ViewData["Relacion"])

关于c# - Html.DropDownList从列表<字符串>中选择的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9025157/

10-17 02:03