我正在尝试根据此线程Select Tag Helper in ASP.NET Core MVC在ASP .NET Core 2.0 MVC应用程序中使用select tag helper。
这是我的观点模型:
public class SensorEditViewModel
{
public int SensorID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Uid { get; set; }
public string AE_SN { get; set; }
public DateTime SubscriptionEndDate { get; set; }
public string Type { get; set; }
public bool sensorAccessApproved { get; set; }
public string UserId { get; set; }
public SelectList UserEmailList { get; set; }
}
以下是GET的一部分,其中模型填充了propper SelectList和UserId并推送到视图:
var users = _context.Users.OrderBy(u => u.UserName).Select(x => new { Text = x.Email, Value = x.Id });
model.UserEmailList = new SelectList(users, "Value", "Text");
model.Id = ownerId;
return View(model);
最后在编辑视图中我正在使用Select TagHelper:
<div class="form-group">
<label class="control-label">User Email</label>
<select asp-for="Id" asp-items="@Model.UserEmailList" class="form-control" ></select>
</div>
但我的问题是Select未预设为在控制器中选择了值(model.Id = ownerId;)。你有什么可能是错的线索吗?感谢。
答案 0 :(得分:0)
您需要将所选值传递给SelectList构造函数:
model.UserEmailList = new SelectList(users, "Value", "Text", ownerId)
MS docs
中的更多信息