【发布时间】:2020-09-27 20:14:55
【问题描述】:
我使用了一个 ViewModel,它有 2 个不同的模型。 1) 人的细节模型 2)兴趣列表
public class DetailsandHobbyVM
{
public List<HobbyMastr> hobbiesVM { get; set; }
public DetailsMaster detailsVM { get; set; }
}
这是这些模型。
1) 爱好大师
public partial class HobbyMastr
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public HobbyMastr()
{
this.DetailsMasters = new HashSet<DetailsMaster>();
}
public int HobbyId { get; set; }
public string HobbyName { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<DetailsMaster> DetailsMasters { get; set; }
}
2)DetailsMaster
public partial class DetailsMaster
{
public int DetailsId { get; set; }
public string Name { get; set; }
public Nullable<int> HobbyId { get; set; }
public string Image { get; set; }
public Nullable<int> Gender { get; set; }
public virtual HobbyMastr HobbyMastr { get; set; }
}
这是我的控制器 ActionMethod,我试图在其中获取 DetailsandHobbyVM 类型的参数对象中的值
public ActionResult DetailsPost(DetailsandHobbyVM p)
{ }
这里是视图
@model DemoWebsite.ViewModel.DetailsandHobbyVM
@using (Html.BeginForm("DetailsPost", "Home", FormMethod.Post)){
@Html.TextBoxFor(m => m.detailsVM.Name)
@Html.TextBoxFor(m => m.detailsVM.Image)
@Html.DropDownListFor(m => m.hobbiesVM, new SelectList(Model.hobbiesVM, "HobbyId", "HobbyName"))
@Html.RadioButtonFor(m => m.detailsVM.Gender, 1) @*//Male*@
@Html.RadioButtonFor(m => m.detailsVM.Gender, 2) @*//Female*@
<input type="submit" value="SubmitMe!" />}
现在我正在尝试将所有这些值发送到 DetailsPost ActionMethod,但是(p 对象)中的所有字段都在接收除 HobbyId 之外的值。
有人可以帮忙吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc model-view-controller razor