Моя проблема как это, Im пытается получить модель объекта с целью после seinding его с формой, модель выглядит следующим образом:нуль на HttpPost на ASP.NET
public class PackageModel
{
public PackageDTO Package { get; set; }
public IEnumerable<SelectListItem> Allcategories { get; set; }
}
в то время как PackageDTO просто объект DTO, координирующий многие атрибуты. Теперь представление для этой модели ist просто показывает атрибуты, и эта модель будет отправлена в запросе httppost на индексную страницу как обычно (там она будет обработана ans сохранена), Метод индекса в контроллере Выглядит так:
[HttpPost]
public ActionResult Index(PackagemODEL packageModel, FormCollection form)
{
}
Теперь я не знаю, что я делаю неправильно, но packageModel объект не является абсолютно пустым, просто список Allcategories и другая строка атрибутов в объекте PackageDTO, остальное, кажется, работает.
мнение содержит этот код
<fieldset>
<legend>@Resources.AppvManagementService_EditPackage_Title</legend>
@using (Html.BeginForm("Index","WantedController",FormMethod.Post,new {enctype="multipart/form-data"}))
{
@Html.ValidationSummary()
<labelName </label>@Html.TextBoxFor(model=>model.Package.Name) <br/>
<label>Sid </label>@Html.TextBoxFor(model=>model.Package.Sid,new {@disabled="disabled"}) <br/>
<label>Category </label>@Html.DropDownList("CategoryName",Model.Allcategories,Model.Package.Category)<br/>
<label>Description: </label>@Html.TextBoxFor(model=>model.Package.Description) <br/>
<label>Type: </label>@Html.TextBoxFor(model=>model.Package.Type) <br/>
<button type="submit">submit</button>
}
Doest нибудь есть какие-либо идеи, почему IST как это ?? я делаю что-то неправильно (я уверен, я :))
ТНХ на каждый
Я пробовал его с @ Html.DropDownListFor (m => m.CategoryName, Model.Allcategories, Model.Package.Category) , но все же я получаю нулевые элементы в списке (но не null), И если я сделаю что-то вроде этого, как я могу найти, какой объект я выбрал из списка, потому что в опубликованной модели, у меня все еще есть старая , я получаю эту проблему, имея скрытые атрибуты в представлении, но я подумал, что это может быть сделано лучше, и почему вы думаете, что мне нужно взять DTOout моей модели? быть лучше, чем копировать тот же код снова Я хотел расширить модельный класс, как вы думаете, это хорошо? – Bafla13
Мне жаль, что я не смог упаковать каждую вещь, которую я хотел сказать в одном посте, но я надеюсь, что я хорошо себя зарекомендовал, и thx :) – Bafla13
Думаю, вам нужно немного перечитать мой ответ. Вы получаете выбранное значение из свойства 'CategoryName', которое я добавил, и - если вам нужно вернуть список значений в POST (что я не уверен, что вы это делаете) - вам нужно реализовать одну из опций, которые я описал выше. DropDownList не возвращает вам значения списка, а только выбранный элемент. –