我的问题是这样的,我试图从一个视图中获取一个模型对象,然后使用一个表单,模型看起来像这样:
public class PackageModel
{
public PackageDTO Package { get; set; }
public IEnumerable<SelectListItem> Allcategories { get; set; }
}
而 PackageDTO 只是一个包含许多属性的 DTO 对象。现在这个模型的视图,只是显示属性,这个模型将在 httppost 请求中正常发送到索引页面(在那里它将被处理并保存),控制器中的索引方法看起来像这样:
[HttpPost]
public ActionResult Index(PackagemODEL packageModel, FormCollection form)
{
}
现在我不知道我做错了什么,但是 Object 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>
}
有谁知道为什么会这样?我做错了吗(我确定我是:))
谢谢每一个人