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

我可以直接在 .cshtml 中为“asp-items”列表指定默认选项吗?

如何解决我可以直接在 .cshtml 中为“asp-items”列表指定默认选项吗?

我有一个像这样的 ASP.Net Core 表单:

<div class="form-group" id="DW_Q30_div">
    <label>@Questions.Q30*</label>
    <select asp-for="Answers.Q30" asp-items="DropdownValues.DeployEnvironments"></select>
</div>

这是对应的下拉列表:

public class DropdownValues
{
    public static List<SelectListItem> DeployEnvironments { get; } = new List<SelectListItem>
    {
        new SelectListItem { Value = "OnPremises",Text = "On Premises" },new SelectListItem { Value = "Cloud",Text = "Cloud" }
    };
    ...

问:有什么方法可以直接在 .cshtml 标记本身中指定认项(例如,“Cloud”而不是“OnPremises”)?

解决方法

正如@LarryBud 已经评论过的那样,如果您想选择“云”而不是“本地”,请将代码更改为此:

public static List<SelectListItem> DeployEnvironments { get; } = new List<SelectListItem>
    {
        new SelectListItem { Value = "OnPremises",Text = "On Premises" },new SelectListItem { Value = "Cloud",Text = "Cloud",Selected=true }
    };

对于您的编辑,您可以使用以下代码:

var defaultValue=...your value from db.
foreach(var item in DeployEnviroments)
{
if item.Value==defaultValue item.Selected=true;
}

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