ASP.NET MVC опубликовать выпадающий список - PullRequest
0 голосов
/ 06 июня 2011

Когда я отправляю через нажатие на «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"/>
}

1 Ответ

1 голос
/ 06 июня 2011

Я вижу перегрузку, которую вы пытались использовать, но у меня был хороший опыт использования 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
                                      }));
...