创建描述模型后:
public class DescriptionModel
{
[Key]
public int DescriptionId { get; set; }
public int PackageId { get; set; }
[Required]
[StringLength(255)]
public string DescriptionFull { get; set; }
// Each description must be attached to 1 package
[ForeignKey("PackageId")]
public virtual PackageModel PackageModel { get; set; }
}
和包装型号
public class PackageModel
{
[Key]
public int PackageId { get; set; }
[DisplayName("Package Name")]
[Required]
public string PName { get; set; }
[DisplayName("Location")]
[Required]
public string PLocation { get; set; }
[Required]
[DataType(DataType.Currency)]
[Column(TypeName = "money")]
public decimal Price { get; set; }
[DisplayName("Active")]
public bool IsActive { get; set; }
[ForeignKey("MemberId")]
public virtual AgentModel AgentModel { get; set; }
[Required]
public string MemberId { get; set; }
public virtual ICollection<DescriptionModel> Descriptions { get; set; }
[DisplayFormat(NullDisplayText = "Not reviewed")]
public virtual ICollection<ReviewModel> Reviews { get; set; }
}
然后我使用脚手架创建默认的控制器和视图。在默认的“创建”视图中,当我尝试时,PackageId会显示为授权用户的MemberID。]
@model final1.Models.DescriptionModel ...redacted create.cshtml... div class="form-group"> <label asp-for="PackageId" class="control-label"></label> <select asp-for="PackageId" class ="form-control" asp-items="ViewBag.PackageId"></select> </div>
以上是导致标签实际显示“ PackageId”的视图,但下拉列表(ViewBag.PackageId)实际上是已登录其Package和Description的用户的MemberID。
我的代码有何错误?
创建描述模型后:公共类DescriptionModel {[Key] public int DescriptionId {组; } public int PackageId {get;组; } [必需] [StringLength(...
“ ViewBag.PackageId”是显而易见的答案,应该已引用MemberId。