我可以直接在 .cshtml 中为 "asp-items" 列表指定默认选项吗?
Can I specify the default option for an "asp-items" list directly in the .cshtml?
我有一个 ASP.Net 这样的核心形式:
<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 已经评论过的那样,如果您想要select“云”而不是“OnPremises:
,请将您的代码更改为此
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;
}
我有一个 ASP.Net 这样的核心形式:
<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 已经评论过的那样,如果您想要select“云”而不是“OnPremises:
,请将您的代码更改为此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;
}