微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Razor 视图中默认未选中下拉项

如何解决在 Razor 视图中默认未选中下拉项

我在 C# 中的 MVC 中的 Razor 视图中编写了以下代码。我想根据价值选择一项,但它不起作用。我确认变量 Facilities 包含值 Un-Funded 但它没有选择此项。

<select id="facilities" class="form-control" style="width:200px;">
<option @{ if (Facilities == "Funded") { Response.Write(" selected "); } }>Funded</option>
<option @{ if (Facilities == "Un-Funded") { Response.Write(" selected "); } }>Un-Funded</option>
</select>

这是 HTML 外观的屏幕截图。请注意,它不会为任何选项打印 selected

enter image description here

解决方法

我使用的 Response.Write 在 Razor 视图中不起作用。使用 @Html.Raw("some string") 修复了该问题。所以代码看起来像这样:

@{ if(Facilities == "Funded") { @Html.Raw("selected='selected'") } }
,

你可以尝试使用js,这样如果你有很多选项,你就不需要检查每个选项:

   <select id="facilities" class="form-control" style="width:200px;">
        <option value="Funded">Funded</option>
        <option value="Un-Funded">Un-Funded</option>
    </select>
<script>
            $(function () {
                $("#facilities").val("@Facilities");
                //Or you can use $("#facilities").val(@Html.Raw(Json.Encode(Facilities)));
            })
</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。