当我通过点击“btSave”发布时,在控制器中我收到模型。在模型中,我看到所有字段的值(我在这里只显示“FirstName”,但还有其他字段)。但是doropdownlist值始终为空。
你知道为什么吗?
谢谢,
//Dropfown content
public class LkpTypeCompany
{
public virtual int Id { get; set; }
public virtual int Code { get; set; }
public virtual string NL { get; set; }
public virtual string FR { get; set; }
public virtual string Value { get; set; }
}
//Model Definition
public class CustomerModel
{
public List<LkpTypeCompany> LkpTypeCompany { get; set; }
public Customer Customer { get; set; }
}
//Posting form
jQuery('#btGeneralSave').click(function (event) {
var jqxhr = $.post("Controller/Actio,", $("form").serialize(),
function (data) {
});
});
//HTML
@model eSIT.GC.WebUI.Models.CustomerModel
@using (Html.BeginForm())
{
@Html.TextBoxFor(m => m.Customer.FirstName, new { maxlength = 50 })
@Html.DropDownListFor( m => m.Customer.LkpTypeCompany, new SelectList(Model.LkpTypeCompany, "Code", "FR", Model.Customer.LkpTypeCompany.Code))
<input type="button" id="btSave" value="Save"/>
}
答案 0 :(得分:1)
我看到你试图使用的重载,但我使用SelectListItem
尝试
@Html.DropDownListFor( m => m.Customer.LkpTypeCompany,
new SelectList(Model.LkpTypeCompany
.Select(i => new SelectListItem
{
Text = i.Code,
Value = (*somecondition*) ? i.FR : i.NL,
Selected = i.Code == Model.Customer.LkpTypeCompany.Code
}));